<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
	 
	 <meta name="description" content="XDMF parallel partitioned mesh I/O on top of HDF5">
    
    <meta name="author" content="Víctor Sande Veiga" >
    <link rel="icon" href="../favicon.png">

    <title>mpi_environment.f90 &ndash; XH5For</title>

    <link href="../css/bootstrap.min.css" rel="stylesheet">
    <link href="../css/pygments.css" rel="stylesheet">
    <link href="../css/font-awesome.min.css" rel="stylesheet">
    <link href="../css/local.css" rel="stylesheet">
    

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
    
    <script src="../js/jquery-2.1.3.min.js"></script>
    <script src="../js/svg-pan-zoom.min.js"></script>

  </head>

  <body>

    <!-- Fixed navbar -->
    <nav class="navbar navbar-inverse navbar-fixed-top">
      <div class="container">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a class="navbar-brand" href="../index.html">XH5For </a>
        </div>
        <div id="navbar" class="navbar-collapse collapse">
          <ul class="nav navbar-nav">
				
            <li class="dropdown hidden-xs visible-sm visible-md hidden-lg">
              <a href="#" class="dropdown-toggle"
              data-toggle="dropdown" role="button"
              aria-haspopup="true"
		 aria-expanded="false">Contents <span class="caret"></span></a>
	      <ul class="dropdown-menu">
              
            <li><a href="../lists/files.html">Source Files</a></li>
				
				
            <li><a href="../lists/modules.html">Modules</a></li>
				
            
                                
            <li><a href="../lists/procedures.html">Procedures</a></li>
				
								
            <li><a href="../lists/types.html">Derived Types</a></li>
				
				
            <li><a href="../lists/programs.html">Programs</a></li>
				
            </ul>
            </li>

<li class="visible-xs hidden-sm visible-lg"><a href="../lists/files.html">Source Files</a></li>


<li class="visible-xs hidden-sm visible-lg"><a href="../lists/modules.html">Modules</a></li>



<li class="visible-xs hidden-sm visible-lg"><a href="../lists/procedures.html">Procedures</a></li>

                             
<li class="visible-xs hidden-sm visible-lg"><a href="../lists/types.html">Derived Types</a></li>


<li class="visible-xs hidden-sm visible-lg"><a href="../lists/programs.html">Programs</a></li>

          </ul>
        
        <form action="../search.html" class="navbar-form navbar-right" role="search">
        <div class="form-group">
          <input type="text" class="form-control" placeholder="Search" name="q" id="tipue_search_input" autocomplete="off" required>
        </div>
<!--
        <button type="submit" class="btn btn-default">Submit</button>
-->
        </form>
        
        </div><!--/.nav-collapse -->
      </div>
    </nav>

    <div class="container">
    
  
  <div class="row">
    <h1>mpi_environment.f90
    <small>Source File</small>
    
    </h1>
    
<div class="row">
  <div class="col-lg-12">
<div class="well well-sm">
  <ul class="list-inline" style="margin-bottom:0px;display:inline">
     
     
     
     
    
    
     <li><i class="fa fa-list-ol"></i>
       <a data-toggle="tooltip"
	  data-placement="bottom" data-html="true"
	  title=" 1.9% of total for source files.">253 statements</a>
     </li> 
     
     
    <li><i class="fa fa-code"></i><a href="../src/mpi_environment.f90"> Source File</a></li>
     
  </ul>
  <ol class="breadcrumb in-well text-right">
  
     <li class="active">mpi_environment.f90</li>
  </ol>
</div>
</div>
</div>
<script>
  $(function () {
  $('[data-toggle="tooltip"]').tooltip()
  })
</script>

  </div>
  <div class="row">
    <div class="col-md-3 hidden-xs hidden-sm visible-md visible-lg">
    
<div id="sidebar">
  






<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#mods-0">Modules</a></h3></div>
  <div id="mods-0" class="panel-collapse collapse">
    <div class="list-group">
      
      <a class="list-group-item" href="../module/mpi_environment.html">mpi_environment</a>
      
    </div>
  </div>
</div>















<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title">Source Code</h3></div>
  <div class="list-group">
    <a class="list-group-item" href="../sourcefile/mpi_environment.f90.html#src">mpi_environment.f90</a>
  </div>
</div>


  <hr>
  

<div class="panel panel-default">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#allfiles-0">All Source Files</a></h3></div>
  <div id="allfiles-0" class="panel-collapse collapse">
    <div class="list-group">
      
      <a class="list-group-item" href="../sourcefile/ch_unstructured_hexahedron_perf.f90.html">ch_unstructured_hexahedron_perf.f90</a>
      
      <a class="list-group-item" href="../sourcefile/fox_xdmf.f90.html">fox_xdmf.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_contiguous_hyperslab_handler.f90.html">hdf5_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_dataset_per_process_handler.f90.html">hdf5_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_handler.f90.html">hdf5_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_structured_contiguous_hyperslab_handler.f90.html">hdf5_structured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_structured_dataset_per_process_handler.f90.html">hdf5_structured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_unstructured_contiguous_hyperslab_handler.f90.html">hdf5_unstructured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_unstructured_dataset_per_process_handler.f90.html">hdf5_unstructured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/mpi_environment.f90.html">mpi_environment.f90</a>
      
      <a class="list-group-item" href="../sourcefile/spatial_grid_descriptor.f90.html">spatial_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/steps_handler.f90.html">steps_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/steps_handler_test.f90.html">steps_handler_test.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_contiguous_hyperslab_factory.f90.html">structured_contiguous_hyperslab_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_dataset_per_process_factory.f90.html">structured_dataset_per_process_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_spatial_grid_descriptor.f90.html">structured_spatial_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_uniform_grid_descriptor.f90.html">structured_uniform_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_fox_wxml.f90.html">test_FoX_wxml.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90.html">test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_rectilinear_dataset_per_process_handler.f90.html">test_hdf5_rectilinear_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_regular_contiguous_hyperslabs_handler.f90.html">test_hdf5_regular_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_regular_dataset_per_process_handler.f90.html">test_hdf5_regular_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_unstructured_contiguous_hyperslabs_handler.f90.html">test_hdf5_unstructured_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_unstructured_dataset_per_process_handler.f90.html">test_hdf5_unstructured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_mpi_environment.f90.html">test_mpi_environment.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_attribute.f90.html">test_xdmf_attribute.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_character_data.f90.html">test_xdmf_character_data.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_dataitem.f90.html">test_xdmf_dataitem.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_geometry.f90.html">test_xdmf_geometry.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_grid.f90.html">test_xdmf_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90.html">test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_rectilinear_dataset_per_process.f90.html">test_xdmf_rectilinear_dataset_per_process.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_regular_contiguous_hyperslabs_handler.f90.html">test_xdmf_regular_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_regular_dataset_per_process.f90.html">test_xdmf_regular_dataset_per_process.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_time.f90.html">test_xdmf_time.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_topology.f90.html">test_xdmf_topology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_unstructured_contiguous_hyperslabs_handler.f90.html">test_xdmf_unstructured_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_unstructured_dataset_per_process.f90.html">test_xdmf_unstructured_dataset_per_process.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_xinclude.f90.html">test_xdmf_xinclude.f90</a>
      
      <a class="list-group-item" href="../sourcefile/try_compile_hdf5_mod.f90.html">try_compile_hdf5_mod.f90</a>
      
      <a class="list-group-item" href="../sourcefile/try_compile_mpi_mod.f90.html">try_compile_mpi_mod.f90</a>
      
      <a class="list-group-item" href="../sourcefile/uniform_grid_descriptor.f90.html">uniform_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_contiguous_hyperslab_factory.f90.html">unstructured_contiguous_hyperslab_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_dataset_per_process_factory.f90.html">unstructured_dataset_per_process_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_spatial_grid_descriptor.f90.html">unstructured_spatial_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_uniform_grid_descriptor.f90.html">unstructured_uniform_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_attribute.f90.html">xdmf_attribute.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_character_data.f90.html">xdmf_character_data.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_contiguous_hyperslab_handler.f90.html">xdmf_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_dataitem.f90.html">xdmf_dataitem.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_dataset_per_process_handler.f90.html">xdmf_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_domain.f90.html">xdmf_domain.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_element.f90.html">xdmf_element.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_file.f90.html">xdmf_file.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_geometry.f90.html">xdmf_geometry.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_grid.f90.html">xdmf_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_handler.f90.html">xdmf_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_information.f90.html">xdmf_information.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_parameters.f90.html">xdmf_parameters.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_structured_contiguous_hyperslab_handler.f90.html">xdmf_structured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_structured_dataset_per_process_handler.f90.html">xdmf_structured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_time.f90.html">xdmf_time.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_topology.f90.html">xdmf_topology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_unstructured_contiguous_hyperslab_handler.f90.html">xdmf_unstructured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_unstructured_dataset_per_process_handler.f90.html">xdmf_unstructured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_utils.f90.html">xdmf_utils.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_xinclude.f90.html">xdmf_xinclude.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for.f90.html">xh5for.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_abstract_factory.f90.html">xh5for_abstract_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_rectilinear_grid.f90.html">xh5for_ch_rectilinear_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_rectilinear_non_static_grid_series.f90.html">xh5for_ch_rectilinear_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_rectilinear_static_grid_series.f90.html">xh5for_ch_rectilinear_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_regular_grid.f90.html">xh5for_ch_regular_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_regular_non_static_grid_series.f90.html">xh5for_ch_regular_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_regular_static_grid_series.f90.html">xh5for_ch_regular_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_hexahedron.f90.html">xh5for_ch_unstructured_hexahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_hexahedron_perf.f90.html">xh5for_ch_unstructured_hexahedron_perf.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_mixedtopology.f90.html">xh5for_ch_unstructured_mixedtopology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_non_static_tetrahedron.f90.html">xh5for_ch_unstructured_non_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_quadilateral.f90.html">xh5for_ch_unstructured_quadilateral.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_static_mixed_series.f90.html">xh5for_ch_unstructured_static_mixed_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_static_tetrahedron.f90.html">xh5for_ch_unstructured_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_tetrahedron.f90.html">xh5for_ch_unstructured_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_triangles.f90.html">xh5for_ch_unstructured_triangles.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_rectilinear_grid.f90.html">xh5for_dpp_rectilinear_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_rectilinear_non_static_grid_series.f90.html">xh5for_dpp_rectilinear_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_rectilinear_static_grid_series.f90.html">xh5for_dpp_rectilinear_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_regular_grid.f90.html">xh5for_dpp_regular_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_regular_non_static_grid_series.f90.html">xh5for_dpp_regular_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_regular_static_grid_series.f90.html">xh5for_dpp_regular_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_hexahedron.f90.html">xh5for_dpp_unstructured_hexahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_mixedtopology.f90.html">xh5for_dpp_unstructured_mixedtopology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_non_static_tetrahedron.f90.html">xh5for_dpp_unstructured_non_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_quadilateral.f90.html">xh5for_dpp_unstructured_quadilateral.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_static_tetrahedron.f90.html">xh5for_dpp_unstructured_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_tetrahedron.f90.html">xh5for_dpp_unstructured_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_triangles.f90.html">xh5for_dpp_unstructured_triangles.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_factory.f90.html">xh5for_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_handler.f90.html">xh5for_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_metadata.f90.html">xh5for_metadata.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_parameters.f90.html">xh5for_parameters.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_utils.f90.html">xh5for_utils.f90</a>
      
    </div>
  </div>
</div>


</div>  

    </div>
    <div class="col-md-9" id='text'>
    
    
    <h3>This File Depends On</h3>
    
                <div class="depgraph"><?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
 -->
<!-- Title: sourcefile~~mpi_environment.f90~~EfferentGraph Pages: 1 -->
<svg id="sourcefilempi_environmentf90EfferentGraph" width="550pt" height="74pt"
 viewBox="0.00 0.00 550.00 74.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="sourcefile~~mpi_environment.f90~~EfferentGraph" class="graph" transform="scale(1 1) rotate(0) translate(4 70)">
<title>sourcefile~~mpi_environment.f90~~EfferentGraph</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-70 546,-70 546,4 -4,4"/>
<!-- sourcefile~mpi_environment.f90 -->
<g id="sourcefile~~mpi_environment.f90~~EfferentGraph_node1" class="node"><title>sourcefile~mpi_environment.f90</title>
<polygon fill="none" stroke="black" points="542,-45 429,-45 429,-21 542,-21 542,-45"/>
<text text-anchor="middle" x="485.5" y="-30.6" font-family="Helvetica,sans-Serif" font-size="10.50">mpi_environment.f90</text>
</g>
<!-- sourcefile~xh5for_utils.f90 -->
<g id="sourcefile~~mpi_environment.f90~~EfferentGraph_node2" class="node"><title>sourcefile~xh5for_utils.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~EfferentGraph_node2"><a xlink:href="../sourcefile/xh5for_utils.f90.html" xlink:title="xh5for_utils.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="393,-45 308,-45 308,-21 393,-21 393,-45"/>
<text text-anchor="middle" x="350.5" y="-30.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_utils.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~mpi_environment.f90 -->
<g id="sourcefile~~mpi_environment.f90~~EfferentGraph_edge4" class="edge"><title>sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~mpi_environment.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M393.217,-33C401.321,-33 409.998,-33 418.659,-33"/>
<polygon fill="#000000" stroke="#000000" points="418.785,-36.5001 428.785,-33 418.785,-29.5001 418.785,-36.5001"/>
</g>
<!-- sourcefile~xh5for_parameters.f90 -->
<g id="sourcefile~~mpi_environment.f90~~EfferentGraph_node3" class="node"><title>sourcefile~xh5for_parameters.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~EfferentGraph_node3"><a xlink:href="../sourcefile/xh5for_parameters.f90.html" xlink:title="xh5for_parameters.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="272,-66 151,-66 151,-42 272,-42 272,-66"/>
<text text-anchor="middle" x="211.5" y="-51.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_parameters.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~xh5for_utils.f90 -->
<g id="sourcefile~~mpi_environment.f90~~EfferentGraph_edge2" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~xh5for_utils.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M272.192,-44.8502C280.701,-43.5458 289.396,-42.2131 297.737,-40.9345"/>
<polygon fill="#000000" stroke="#000000" points="298.346,-44.382 307.701,-39.4072 297.286,-37.4628 298.346,-44.382"/>
</g>
<!-- sourcefile~xdmf_utils.f90 -->
<g id="sourcefile~~mpi_environment.f90~~EfferentGraph_node4" class="node"><title>sourcefile~xdmf_utils.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~EfferentGraph_node4"><a xlink:href="../sourcefile/xdmf_utils.f90.html" xlink:title="xdmf_utils.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="251,-24 172,-24 172,-0 251,-0 251,-24"/>
<text text-anchor="middle" x="211.5" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_utils.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xdmf_utils.f90&#45;&gt;sourcefile~xh5for_utils.f90 -->
<g id="sourcefile~~mpi_environment.f90~~EfferentGraph_edge3" class="edge"><title>sourcefile~xdmf_utils.f90&#45;&gt;sourcefile~xh5for_utils.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M251.027,-17.9056C265.569,-20.1347 282.357,-22.708 297.905,-25.0913"/>
<polygon fill="#000000" stroke="#000000" points="297.492,-28.5688 307.907,-26.6245 298.553,-21.6497 297.492,-28.5688"/>
</g>
<!-- sourcefile~xdmf_parameters.f90 -->
<g id="sourcefile~~mpi_environment.f90~~EfferentGraph_node5" class="node"><title>sourcefile~xdmf_parameters.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~EfferentGraph_node5"><a xlink:href="../sourcefile/xdmf_parameters.f90.html" xlink:title="xdmf_parameters.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="115,-24 7.10543e-15,-24 7.10543e-15,-0 115,-0 115,-24"/>
<text text-anchor="middle" x="57.5" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_parameters.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xdmf_parameters.f90&#45;&gt;sourcefile~xdmf_utils.f90 -->
<g id="sourcefile~~mpi_environment.f90~~EfferentGraph_edge1" class="edge"><title>sourcefile~xdmf_parameters.f90&#45;&gt;sourcefile~xdmf_utils.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M115.099,-12C130.461,-12 146.956,-12 161.838,-12"/>
<polygon fill="#000000" stroke="#000000" points="161.849,-15.5001 171.849,-12 161.849,-8.5001 161.849,-15.5001"/>
</g>
</g>
</svg>
</div>
                <div><a type="button" class="graph-help" data-toggle="modal" href="#graph-help-text">Help</a></div>
                <div class="modal fade" id="graph-help-text" tabindex="-1" role="dialog">
                  <div class="modal-dialog modal-lg" role="document">
                    <div class="modal-content">
                      <div class="modal-header">
                        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                        <h4 class="modal-title" id="-graph-help-label">Graph Key</h4>
                      </div>
                      <div class="modal-body">
                        
    <p>Nodes of different colours represent the following: </p>
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
 -->
<!-- Title: Graph Key Pages: 1 -->
<svg width="190pt" height="32pt"
 viewBox="0.00 0.00 190.00 32.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 28)">
<title>Graph Key</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-28 186,-28 186,4 -4,4"/>
<!-- Source File -->
<g id="node1" class="node"><title>Source File</title>
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="67,-24 0,-24 0,-0 67,-0 67,-24"/>
<text text-anchor="middle" x="33.5" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">Source File</text>
</g>
<!-- This Page&#39;s Entity -->
<g id="node2" class="node"><title>This Page&#39;s Entity</title>
<polygon fill="none" stroke="black" points="182,-24 85,-24 85,-0 182,-0 182,-24"/>
<text text-anchor="middle" x="133.5" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50">This Page&#39;s Entity</text>
</g>
</g>
</svg>

    
    <p>Solid arrows point from a file to a file which depends upon it. A file 
    is dependent upon another if the latter must be compiled before the former
    can be.
    </p>
    
                      </div>
                    </div>
                  </div>
                </div>
                
    
      
      <h3>Files Dependent On This One</h3>
      
                <div class="depgraph"><?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
 -->
<!-- Title: sourcefile~~mpi_environment.f90~~AfferentGraph Pages: 1 -->
<svg id="sourcefilempi_environmentf90AfferentGraph" width="641pt" height="570pt"
 viewBox="0.00 0.00 641.00 569.88" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph" class="graph" transform="scale(0.318272 0.318272) rotate(0) translate(4 1786.54)">
<title>sourcefile~~mpi_environment.f90~~AfferentGraph</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-1786.54 2010,-1786.54 2010,4 -4,4"/>
<!-- sourcefile~mpi_environment.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node1" class="node"><title>sourcefile~mpi_environment.f90</title>
<polygon fill="none" stroke="black" points="113,-1043.09 0,-1043.09 0,-1019.09 113,-1019.09 113,-1043.09"/>
<text text-anchor="middle" x="56.5" y="-1028.69" font-family="Helvetica,sans-Serif" font-size="10.50">mpi_environment.f90</text>
</g>
<!-- sourcefile~xdmf_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node2" class="node"><title>sourcefile~xdmf_contiguous_hyperslab_handler.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node2"><a xlink:href="../sourcefile/xdmf_contiguous_hyperslab_handler.f90.html" xlink:title="xdmf_contiguous_hyperslab_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="687,-809.089 481,-809.089 481,-785.089 687,-785.089 687,-809.089"/>
<text text-anchor="middle" x="584" y="-794.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_contiguous_hyperslab_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~xdmf_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge137" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~xdmf_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M219.5,-991.089C327.498,-970.208 364.375,-963.916 445,-889.089 469.491,-866.359 454.614,-843.589 481,-823.089 485.972,-819.226 491.453,-815.932 497.216,-813.123"/>
<polygon fill="#000000" stroke="#000000" points="498.698,-816.296 506.472,-809.098 495.906,-809.877 498.698,-816.296"/>
</g>
<!-- sourcefile~test_hdf5_unstructured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node3" class="node"><title>sourcefile~test_hdf5_unstructured_dataset_per_process_handler.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node3"><a xlink:href="../sourcefile/test_hdf5_unstructured_dataset_per_process_handler.f90.html" xlink:title="test_hdf5_unstructured_dataset_per_process_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1326,-362.089 1037,-362.089 1037,-338.089 1326,-338.089 1326,-362.089"/>
<text text-anchor="middle" x="1181.5" y="-347.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">test_hdf5_unstructured_dataset_per_process_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~test_hdf5_unstructured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge138" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~test_hdf5_unstructured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M585,-105.089C769.994,-121.77 852.726,-66.6769 995,-186.089 1028.95,-214.583 1000.84,-246.61 1031,-279.089 1055.96,-305.973 1093.22,-323.701 1124.29,-334.72"/>
<polygon fill="#000000" stroke="#000000" points="1123.54,-338.162 1134.13,-338.064 1125.79,-331.534 1123.54,-338.162"/>
</g>
<!-- sourcefile~hdf5_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node4" class="node"><title>sourcefile~hdf5_handler.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node4"><a xlink:href="../sourcefile/hdf5_handler.f90.html" xlink:title="hdf5_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="431.5,-670.089 337.5,-670.089 337.5,-646.089 431.5,-646.089 431.5,-670.089"/>
<text text-anchor="middle" x="384.5" y="-655.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">hdf5_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~hdf5_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge139" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~hdf5_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M100.341,-1019.04C132.402,-1010.35 177.44,-998.834 217.5,-991.089"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M219.5,-991.089C361.012,-963.729 226.446,-790.189 324,-684.089 327.088,-680.73 330.686,-677.784 334.557,-675.204"/>
<polygon fill="#000000" stroke="#000000" points="336.457,-678.148 343.372,-670.12 332.96,-672.084 336.457,-678.148"/>
</g>
<!-- sourcefile~test_mpi_environment.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node5" class="node"><title>sourcefile~test_mpi_environment.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node5"><a xlink:href="../sourcefile/test_mpi_environment.f90.html" xlink:title="test_mpi_environment.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="286.5,-1653.09 150.5,-1653.09 150.5,-1629.09 286.5,-1629.09 286.5,-1653.09"/>
<text text-anchor="middle" x="218.5" y="-1638.69" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">test_mpi_environment.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~test_mpi_environment.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge140" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~test_mpi_environment.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M57.797,-1043.58C59.8483,-1119.87 74.147,-1522.85 149,-1615.09 151.586,-1618.28 154.609,-1621.07 157.916,-1623.53"/>
<polygon fill="#000000" stroke="#000000" points="156.299,-1626.64 166.64,-1628.95 159.994,-1620.7 156.299,-1626.64"/>
</g>
<!-- sourcefile~test_hdf5_regular_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node6" class="node"><title>sourcefile~test_hdf5_regular_dataset_per_process_handler.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node6"><a xlink:href="../sourcefile/test_hdf5_regular_dataset_per_process_handler.f90.html" xlink:title="test_hdf5_regular_dataset_per_process_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1313,-1399.09 1050,-1399.09 1050,-1375.09 1313,-1375.09 1313,-1399.09"/>
<text text-anchor="middle" x="1181.5" y="-1384.69" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">test_hdf5_regular_dataset_per_process_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~test_hdf5_regular_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge141" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~test_hdf5_regular_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M385.5,-1601.09C540.055,-1586.5 571.442,-1544.71 723,-1511.09 782.495,-1497.89 798.097,-1498.29 858,-1487.09"/>
</g>
<!-- sourcefile~test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node7" class="node"><title>sourcefile~test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node7"><a xlink:href="../sourcefile/test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90.html" xlink:title="test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1325,-1687.09 1038,-1687.09 1038,-1663.09 1325,-1663.09 1325,-1687.09"/>
<text text-anchor="middle" x="1181.5" y="-1672.69" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge142" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M860,-1715.09C923.483,-1704.24 994.516,-1695.07 1053.55,-1688.26"/>
<polygon fill="#000000" stroke="#000000" points="1054.13,-1691.72 1063.67,-1687.1 1053.33,-1684.76 1054.13,-1691.72"/>
</g>
<!-- sourcefile~test_xdmf_regular_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node8" class="node"><title>sourcefile~test_xdmf_regular_contiguous_hyperslabs_handler.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node8"><a xlink:href="../sourcefile/test_xdmf_regular_contiguous_hyperslabs_handler.f90.html" xlink:title="test_xdmf_regular_contiguous_hyperslabs_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1318.5,-1591.09 1044.5,-1591.09 1044.5,-1567.09 1318.5,-1567.09 1318.5,-1591.09"/>
<text text-anchor="middle" x="1181.5" y="-1576.69" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">test_xdmf_regular_contiguous_hyperslabs_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~test_xdmf_regular_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge143" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~test_xdmf_regular_contiguous_hyperslabs_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M57.2996,-1043.32C56.259,-1123.57 54.704,-1574.12 149,-1662.09 380.055,-1877.64 543.288,-1743.48 858,-1715.09"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M860,-1715.09C920.07,-1704.82 941.159,-1719.64 995,-1691.09 1015.27,-1680.34 1012.49,-1667.64 1031,-1654.09 1065.08,-1629.14 1108.69,-1608.33 1140.01,-1595.01"/>
<polygon fill="#000000" stroke="#000000" points="1141.43,-1598.21 1149.31,-1591.12 1138.73,-1591.75 1141.43,-1598.21"/>
</g>
<!-- sourcefile~test_xdmf_unstructured_dataset_per_process.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node9" class="node"><title>sourcefile~test_xdmf_unstructured_dataset_per_process.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node9"><a xlink:href="../sourcefile/test_xdmf_unstructured_dataset_per_process.f90.html" xlink:title="test_xdmf_unstructured_dataset_per_process.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1306.5,-885.089 1056.5,-885.089 1056.5,-861.089 1306.5,-861.089 1306.5,-885.089"/>
<text text-anchor="middle" x="1181.5" y="-870.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">test_xdmf_unstructured_dataset_per_process.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~test_xdmf_unstructured_dataset_per_process.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge144" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~test_xdmf_unstructured_dataset_per_process.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M219.5,-991.089C250.265,-983.898 265.402,-988.009 288,-1010.09 327.523,-1048.7 294.471,-1082.38 324,-1129.09 343.084,-1159.27 352.563,-1165.25 383.5,-1183.09"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M385.5,-1183.09C423.321,-1204.9 437.95,-1167.35 481,-1160.09 647.016,-1132.09 700.791,-1183.34 858,-1123.09"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M860,-1123.09C919.291,-1097.39 941.545,-1105.4 995,-1069.09 1069.63,-1018.39 1136.94,-933.067 1165.72,-893.892"/>
<polygon fill="#000000" stroke="#000000" points="1168.84,-895.55 1171.88,-885.401 1163.18,-891.438 1168.84,-895.55"/>
</g>
<!-- sourcefile~structured_spatial_grid_descriptor.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node10" class="node"><title>sourcefile~structured_spatial_grid_descriptor.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node10"><a xlink:href="../sourcefile/structured_spatial_grid_descriptor.f90.html" xlink:title="structured_spatial_grid_descriptor.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="955.5,-1417.09 762.5,-1417.09 762.5,-1393.09 955.5,-1393.09 955.5,-1417.09"/>
<text text-anchor="middle" x="859" y="-1402.69" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">structured_spatial_grid_descriptor.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~structured_spatial_grid_descriptor.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge145" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~structured_spatial_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M585,-1449.09C637.461,-1426.68 700.04,-1415.59 752.04,-1410.15"/>
<polygon fill="#000000" stroke="#000000" points="752.687,-1413.6 762.293,-1409.13 751.997,-1406.64 752.687,-1413.6"/>
</g>
<!-- sourcefile~xdmf_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node11" class="node"><title>sourcefile~xdmf_handler.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node11"><a xlink:href="../sourcefile/xdmf_handler.f90.html" xlink:title="xdmf_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="432.5,-847.089 336.5,-847.089 336.5,-823.089 432.5,-823.089 432.5,-847.089"/>
<text text-anchor="middle" x="384.5" y="-832.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~xdmf_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge146" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~xdmf_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M219.5,-991.089C292.283,-977.017 265.114,-906.119 324,-861.089 328.647,-857.535 333.854,-854.354 339.205,-851.541"/>
<polygon fill="#000000" stroke="#000000" points="340.794,-854.66 348.269,-847.151 337.744,-848.359 340.794,-854.66"/>
</g>
<!-- sourcefile~xdmf_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node12" class="node"><title>sourcefile~xdmf_dataset_per_process_handler.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node12"><a xlink:href="../sourcefile/xdmf_dataset_per_process_handler.f90.html" xlink:title="xdmf_dataset_per_process_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="685,-927.089 483,-927.089 483,-903.089 685,-903.089 685,-927.089"/>
<text text-anchor="middle" x="584" y="-912.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_dataset_per_process_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~xdmf_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge147" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~xdmf_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M219.5,-991.089C250.519,-985.091 260.369,-994.769 288,-1010.09 306.983,-1020.61 305.641,-1031.51 324,-1043.09 348.119,-1058.3 355.003,-1066.07 383.5,-1067.09"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M385.5,-1067.09C443.18,-1069.14 435.139,-1014.13 481,-979.089 503.863,-961.62 531.625,-944.435 552.41,-932.279"/>
<polygon fill="#000000" stroke="#000000" points="554.237,-935.265 561.14,-927.228 550.732,-929.206 554.237,-935.265"/>
</g>
<!-- sourcefile~xh5for_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node13" class="node"><title>sourcefile~xh5for_handler.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node13"><a xlink:href="../sourcefile/xh5for_handler.f90.html" xlink:title="xh5for_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1606,-723.089 1503,-723.089 1503,-699.089 1606,-699.089 1606,-723.089"/>
<text text-anchor="middle" x="1554.5" y="-708.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~xh5for_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge148" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~xh5for_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M860,-1715.09C1000.41,-1691.09 1065,-1798.46 1180.5,-1715.09"/>
</g>
<!-- sourcefile~steps_handler_test.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node14" class="node"><title>sourcefile~steps_handler_test.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node14"><a xlink:href="../sourcefile/steps_handler_test.f90.html" xlink:title="steps_handler_test.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="445,-1556.09 324,-1556.09 324,-1532.09 445,-1532.09 445,-1556.09"/>
<text text-anchor="middle" x="384.5" y="-1541.69" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">steps_handler_test.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~steps_handler_test.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge149" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~steps_handler_test.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M58.7948,-1043.5C67.176,-1121.04 116.606,-1537.56 217.5,-1601.09"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M219.5,-1601.09C242.1,-1615.32 311.987,-1582.54 352.872,-1561.01"/>
<polygon fill="#000000" stroke="#000000" points="354.688,-1564.01 361.862,-1556.21 351.392,-1557.83 354.688,-1564.01"/>
</g>
<!-- sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node15" class="node"><title>sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node15"><a xlink:href="../sourcefile/hdf5_structured_contiguous_hyperslab_handler.f90.html" xlink:title="hdf5_structured_contiguous_hyperslab_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="988,-966.089 730,-966.089 730,-942.089 988,-942.089 988,-966.089"/>
<text text-anchor="middle" x="859" y="-951.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">hdf5_structured_contiguous_hyperslab_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge150" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M385.5,-1067.09C469.022,-1069.76 706.332,-1000.59 809.317,-969.2"/>
<polygon fill="#000000" stroke="#000000" points="810.609,-972.465 819.148,-966.194 808.562,-965.771 810.609,-972.465"/>
</g>
<!-- sourcefile~test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node16" class="node"><title>sourcefile~test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node16"><a xlink:href="../sourcefile/test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90.html" xlink:title="test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1324,-1297.09 1039,-1297.09 1039,-1273.09 1324,-1273.09 1324,-1297.09"/>
<text text-anchor="middle" x="1181.5" y="-1282.69" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge151" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M385.5,-1183.09C408.568,-1197.44 420.889,-1184.57 445,-1197.09 463.999,-1206.95 461.533,-1220.18 481,-1229.09 676.824,-1318.67 935.707,-1311.25 1077.21,-1298.06"/>
<polygon fill="#000000" stroke="#000000" points="1077.58,-1301.55 1087.2,-1297.11 1076.91,-1294.58 1077.58,-1301.55"/>
</g>
<!-- sourcefile~unstructured_spatial_grid_descriptor.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node17" class="node"><title>sourcefile~unstructured_spatial_grid_descriptor.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node17"><a xlink:href="../sourcefile/unstructured_spatial_grid_descriptor.f90.html" xlink:title="unstructured_spatial_grid_descriptor.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="961.5,-299.089 756.5,-299.089 756.5,-275.089 961.5,-275.089 961.5,-299.089"/>
<text text-anchor="middle" x="859" y="-284.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">unstructured_spatial_grid_descriptor.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~unstructured_spatial_grid_descriptor.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge152" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~unstructured_spatial_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M219.5,-257.089C375.911,-119.708 484.393,-180.253 687,-228.089 733.457,-239.057 785.029,-257.8 819.265,-271.218"/>
<polygon fill="#000000" stroke="#000000" points="818.289,-274.596 828.875,-275.024 820.866,-268.088 818.289,-274.596"/>
</g>
<!-- sourcefile~test_hdf5_regular_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node18" class="node"><title>sourcefile~test_hdf5_regular_contiguous_hyperslabs_handler.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node18"><a xlink:href="../sourcefile/test_hdf5_regular_contiguous_hyperslabs_handler.f90.html" xlink:title="test_hdf5_regular_contiguous_hyperslabs_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1317.5,-1255.09 1045.5,-1255.09 1045.5,-1231.09 1317.5,-1231.09 1317.5,-1255.09"/>
<text text-anchor="middle" x="1181.5" y="-1240.69" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">test_hdf5_regular_contiguous_hyperslabs_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~test_hdf5_regular_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge153" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~test_hdf5_regular_contiguous_hyperslabs_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M385.5,-1183.09C407.928,-1197.18 831.563,-1248.76 858,-1247.09"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M860,-1247.09C917.136,-1243.78 980.093,-1242.48 1034.97,-1242.12"/>
<polygon fill="#000000" stroke="#000000" points="1035.14,-1245.62 1045.12,-1242.06 1035.1,-1238.62 1035.14,-1245.62"/>
</g>
<!-- sourcefile~test_xdmf_rectilinear_dataset_per_process.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node19" class="node"><title>sourcefile~test_xdmf_rectilinear_dataset_per_process.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node19"><a xlink:href="../sourcefile/test_xdmf_rectilinear_dataset_per_process.f90.html" xlink:title="test_xdmf_rectilinear_dataset_per_process.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1299.5,-1505.09 1063.5,-1505.09 1063.5,-1481.09 1299.5,-1481.09 1299.5,-1505.09"/>
<text text-anchor="middle" x="1181.5" y="-1490.69" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">test_xdmf_rectilinear_dataset_per_process.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~test_xdmf_rectilinear_dataset_per_process.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge154" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~test_xdmf_rectilinear_dataset_per_process.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M385.5,-1601.09C518.995,-1589.06 553.275,-1603.22 687,-1594.09 824.45,-1584.7 860.78,-1590.16 995,-1559.09 1047.89,-1546.85 1106.54,-1524.39 1143.46,-1509.11"/>
<polygon fill="#000000" stroke="#000000" points="1144.94,-1512.29 1152.81,-1505.2 1142.24,-1505.83 1144.94,-1512.29"/>
</g>
<!-- sourcefile~test_hdf5_unstructured_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node20" class="node"><title>sourcefile~test_hdf5_unstructured_contiguous_hyperslabs_handler.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node20"><a xlink:href="../sourcefile/test_hdf5_unstructured_contiguous_hyperslabs_handler.f90.html" xlink:title="test_hdf5_unstructured_contiguous_hyperslabs_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1330.5,-270.089 1032.5,-270.089 1032.5,-246.089 1330.5,-246.089 1330.5,-270.089"/>
<text text-anchor="middle" x="1181.5" y="-255.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">test_hdf5_unstructured_contiguous_hyperslabs_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~test_hdf5_unstructured_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge155" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~test_hdf5_unstructured_contiguous_hyperslabs_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M385.5,-105.089C463.486,-64.8005 495.49,-98.2363 583,-105.089"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M585,-105.089C766.666,-119.314 847.887,2.44156 995,-105.089 1037.55,-136.193 992.864,-181.703 1031,-218.089 1042.16,-228.739 1055.84,-236.624 1070.34,-242.448"/>
<polygon fill="#000000" stroke="#000000" points="1069.38,-245.823 1079.97,-245.986 1071.79,-239.252 1069.38,-245.823"/>
</g>
<!-- sourcefile~hdf5_unstructured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node21" class="node"><title>sourcefile~hdf5_unstructured_dataset_per_process_handler.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node21"><a xlink:href="../sourcefile/hdf5_unstructured_dataset_per_process_handler.f90.html" xlink:title="hdf5_unstructured_dataset_per_process_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="992,-383.089 726,-383.089 726,-359.089 992,-359.089 992,-383.089"/>
<text text-anchor="middle" x="859" y="-368.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">hdf5_unstructured_dataset_per_process_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~hdf5_unstructured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge156" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~hdf5_unstructured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M219.5,-257.089C230.922,-248.614 708.979,-347.704 723,-350.089 737.674,-352.585 753.266,-355.119 768.444,-357.523"/>
<polygon fill="#000000" stroke="#000000" points="767.922,-360.983 778.345,-359.082 769.011,-354.069 767.922,-360.983"/>
</g>
<!-- sourcefile~hdf5_structured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node22" class="node"><title>sourcefile~hdf5_structured_dataset_per_process_handler.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node22"><a xlink:href="../sourcefile/hdf5_structured_dataset_per_process_handler.f90.html" xlink:title="hdf5_structured_dataset_per_process_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="986,-1191.09 732,-1191.09 732,-1167.09 986,-1167.09 986,-1191.09"/>
<text text-anchor="middle" x="859" y="-1176.69" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">hdf5_structured_dataset_per_process_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~hdf5_structured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge157" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~hdf5_structured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M219.5,-991.089C250.515,-985.069 266.575,-986.869 288,-1010.09 345.394,-1072.29 258.74,-1143.19 324,-1197.09 471.138,-1318.6 726.634,-1233.2 821.321,-1194.96"/>
<polygon fill="#000000" stroke="#000000" points="822.834,-1198.12 830.758,-1191.09 820.178,-1191.65 822.834,-1198.12"/>
</g>
<!-- sourcefile~xdmf_structured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node23" class="node"><title>sourcefile~xdmf_structured_contiguous_hyperslab_handler.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node23"><a xlink:href="../sourcefile/xdmf_structured_contiguous_hyperslab_handler.f90.html" xlink:title="xdmf_structured_contiguous_hyperslab_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="989,-1459.09 729,-1459.09 729,-1435.09 989,-1435.09 989,-1459.09"/>
<text text-anchor="middle" x="859" y="-1444.69" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_structured_contiguous_hyperslab_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~xdmf_structured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge158" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~xdmf_structured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M585,-1449.09C650.584,-1421.08 733.383,-1425.3 790.504,-1433.55"/>
<polygon fill="#000000" stroke="#000000" points="790.093,-1437.02 800.506,-1435.07 791.147,-1430.1 790.093,-1437.02"/>
</g>
<!-- sourcefile~xdmf_structured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node24" class="node"><title>sourcefile~xdmf_structured_dataset_per_process_handler.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node24"><a xlink:href="../sourcefile/xdmf_structured_dataset_per_process_handler.f90.html" xlink:title="xdmf_structured_dataset_per_process_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="987,-1060.09 731,-1060.09 731,-1036.09 987,-1036.09 987,-1060.09"/>
<text text-anchor="middle" x="859" y="-1045.69" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_structured_dataset_per_process_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~xdmf_structured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge159" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~xdmf_structured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M385.5,-1067.09C498.404,-1071.11 626.456,-1065.32 720.747,-1059.1"/>
<polygon fill="#000000" stroke="#000000" points="721.174,-1062.58 730.917,-1058.42 720.706,-1055.6 721.174,-1062.58"/>
</g>
<!-- sourcefile~hdf5_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node25" class="node"><title>sourcefile~hdf5_dataset_per_process_handler.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node25"><a xlink:href="../sourcefile/hdf5_dataset_per_process_handler.f90.html" xlink:title="hdf5_dataset_per_process_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="684,-729.089 484,-729.089 484,-705.089 684,-705.089 684,-729.089"/>
<text text-anchor="middle" x="584" y="-714.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">hdf5_dataset_per_process_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~hdf5_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge160" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~hdf5_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M219.5,-991.089C309.269,-974.146 255.992,-875.084 324,-814.089 373.737,-769.48 445.924,-744.708 501.461,-731.386"/>
<polygon fill="#000000" stroke="#000000" points="502.326,-734.779 511.276,-729.109 500.744,-727.96 502.326,-734.779"/>
</g>
<!-- sourcefile~test_hdf5_rectilinear_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node26" class="node"><title>sourcefile~test_hdf5_rectilinear_dataset_per_process_handler.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node26"><a xlink:href="../sourcefile/test_hdf5_rectilinear_dataset_per_process_handler.f90.html" xlink:title="test_hdf5_rectilinear_dataset_per_process_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1319.5,-1441.09 1043.5,-1441.09 1043.5,-1417.09 1319.5,-1417.09 1319.5,-1441.09"/>
<text text-anchor="middle" x="1181.5" y="-1426.69" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">test_hdf5_rectilinear_dataset_per_process_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~test_hdf5_rectilinear_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge161" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~test_hdf5_rectilinear_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M385.5,-1601.09C519.949,-1590.71 554.247,-1590.78 687,-1567.09 764.042,-1553.34 780.994,-1539.03 858,-1525.09"/>
</g>
<!-- sourcefile~xdmf_unstructured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node27" class="node"><title>sourcefile~xdmf_unstructured_dataset_per_process_handler.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node27"><a xlink:href="../sourcefile/xdmf_unstructured_dataset_per_process_handler.f90.html" xlink:title="xdmf_unstructured_dataset_per_process_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="993,-885.089 725,-885.089 725,-861.089 993,-861.089 993,-885.089"/>
<text text-anchor="middle" x="859" y="-870.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_unstructured_dataset_per_process_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~xdmf_unstructured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge162" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~xdmf_unstructured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M219.5,-991.089C319.717,-968.843 358.445,-996.285 445,-941.089 467.185,-926.941 461.104,-911.307 481,-894.089 520.268,-860.105 531.725,-845.32 583,-837.089"/>
</g>
<!-- sourcefile~steps_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node28" class="node"><title>sourcefile~steps_handler.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node28"><a xlink:href="../sourcefile/steps_handler.f90.html" xlink:title="steps_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="267.5,-1043.09 169.5,-1043.09 169.5,-1019.09 267.5,-1019.09 267.5,-1043.09"/>
<text text-anchor="middle" x="218.5" y="-1028.69" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">steps_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~steps_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge163" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~steps_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M113.011,-1031.09C127.898,-1031.09 144.037,-1031.09 159.076,-1031.09"/>
<polygon fill="#000000" stroke="#000000" points="159.284,-1034.59 169.284,-1031.09 159.284,-1027.59 159.284,-1034.59"/>
</g>
<!-- sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node29" class="node"><title>sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node29"><a xlink:href="../sourcefile/hdf5_unstructured_contiguous_hyperslab_handler.f90.html" xlink:title="hdf5_unstructured_contiguous_hyperslab_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="994,-341.089 724,-341.089 724,-317.089 994,-317.089 994,-341.089"/>
<text text-anchor="middle" x="859" y="-326.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">hdf5_unstructured_contiguous_hyperslab_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge164" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M219.5,-257.089C380.224,-124.093 481.759,-261.723 687,-299.089 703.226,-302.043 706.835,-304.818 723,-308.089 735.783,-310.675 749.302,-313.119 762.653,-315.363"/>
<polygon fill="#000000" stroke="#000000" points="762.377,-318.865 772.813,-317.039 763.516,-311.958 762.377,-318.865"/>
</g>
<!-- sourcefile~xdmf_unstructured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node30" class="node"><title>sourcefile~xdmf_unstructured_contiguous_hyperslab_handler.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node30"><a xlink:href="../sourcefile/xdmf_unstructured_contiguous_hyperslab_handler.f90.html" xlink:title="xdmf_unstructured_contiguous_hyperslab_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="995,-219.089 723,-219.089 723,-195.089 995,-195.089 995,-219.089"/>
<text text-anchor="middle" x="859" y="-204.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_unstructured_contiguous_hyperslab_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~xdmf_unstructured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge165" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~xdmf_unstructured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M585,-105.089C654.736,-111.377 657.15,-157.288 723,-181.089 735.915,-185.757 749.844,-189.64 763.678,-192.855"/>
<polygon fill="#000000" stroke="#000000" points="763.199,-196.334 773.719,-195.08 764.713,-189.499 763.199,-196.334"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node31" class="node"><title>sourcefile~spatial_grid_descriptor.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node31"><a xlink:href="../sourcefile/spatial_grid_descriptor.f90.html" xlink:title="spatial_grid_descriptor.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="288,-710.089 149,-710.089 149,-686.089 288,-686.089 288,-710.089"/>
<text text-anchor="middle" x="218.5" y="-695.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">spatial_grid_descriptor.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~spatial_grid_descriptor.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge166" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~spatial_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M63.3842,-1018.84C87.2524,-969.166 177.018,-782.343 207.386,-719.138"/>
<polygon fill="#000000" stroke="#000000" points="210.555,-720.625 211.731,-710.095 204.245,-717.593 210.555,-720.625"/>
</g>
<!-- sourcefile~test_xdmf_unstructured_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node32" class="node"><title>sourcefile~test_xdmf_unstructured_contiguous_hyperslabs_handler.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node32"><a xlink:href="../sourcefile/test_xdmf_unstructured_contiguous_hyperslabs_handler.f90.html" xlink:title="test_xdmf_unstructured_contiguous_hyperslabs_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1332,-209.089 1031,-209.089 1031,-185.089 1332,-185.089 1332,-209.089"/>
<text text-anchor="middle" x="1181.5" y="-194.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">test_xdmf_unstructured_contiguous_hyperslabs_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~test_xdmf_unstructured_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge167" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~test_xdmf_unstructured_contiguous_hyperslabs_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M58.0784,-1019.04C62.6569,-929.168 96.1054,-363.713 217.5,-257.089"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M219.5,-257.089C274.678,-208.624 264.865,-172.638 324,-129.089 346.96,-112.18 358.166,-118.176 383.5,-105.089"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M385.5,-105.089C626.916,19.6287 737.346,29.2272 995,-57.0887 1066.6,-81.0738 1132.64,-144.806 1163,-177.356"/>
<polygon fill="#000000" stroke="#000000" points="1160.59,-179.909 1169.93,-184.917 1165.75,-175.18 1160.59,-179.909"/>
</g>
<!-- sourcefile~hdf5_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node33" class="node"><title>sourcefile~hdf5_contiguous_hyperslab_handler.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node33"><a xlink:href="../sourcefile/hdf5_contiguous_hyperslab_handler.f90.html" xlink:title="hdf5_contiguous_hyperslab_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="686,-611.089 482,-611.089 482,-587.089 686,-587.089 686,-611.089"/>
<text text-anchor="middle" x="584" y="-596.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">hdf5_contiguous_hyperslab_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~hdf5_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge168" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~hdf5_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M219.5,-257.089C280.456,-216.128 274.133,-331.175 324,-385.089 389.53,-455.935 404.849,-475.807 481,-535.089 503.704,-552.763 531.478,-569.932 552.308,-582.03"/>
<polygon fill="#000000" stroke="#000000" points="550.645,-585.111 561.06,-587.053 554.129,-579.04 550.645,-585.111"/>
</g>
<!-- sourcefile~test_xdmf_regular_dataset_per_process.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node34" class="node"><title>sourcefile~test_xdmf_regular_dataset_per_process.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node34"><a xlink:href="../sourcefile/test_xdmf_regular_dataset_per_process.f90.html" xlink:title="test_xdmf_regular_dataset_per_process.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1293,-1339.09 1070,-1339.09 1070,-1315.09 1293,-1315.09 1293,-1339.09"/>
<text text-anchor="middle" x="1181.5" y="-1324.69" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">test_xdmf_regular_dataset_per_process.f90</text>
</a>
</g>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~test_xdmf_regular_dataset_per_process.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge169" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~test_xdmf_regular_dataset_per_process.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M219.5,-1601.09C281.181,-1639.93 310.934,-1607.94 383.5,-1601.09"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M385.5,-1601.09C416.271,-1598.18 425.092,-1588.73 445,-1565.09 473.281,-1531.5 447.83,-1501.86 481,-1473.09 516.182,-1442.58 540.172,-1467.38 583,-1449.09"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M585,-1449.09C629.489,-1430.09 644.546,-1434.28 687,-1411.09 704.551,-1401.5 704.454,-1391.58 723,-1384.09 753.622,-1371.73 934.888,-1351.61 1059.85,-1338.88"/>
<polygon fill="#000000" stroke="#000000" points="1060.28,-1342.36 1069.87,-1337.86 1059.57,-1335.39 1060.28,-1342.36"/>
</g>
<!-- sourcefile~xdmf_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~xdmf_structured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge1" class="edge"><title>sourcefile~xdmf_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~xdmf_structured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M604.968,-809.277C629.231,-825.334 669.133,-856.043 687,-894.089 737.368,-1001.34 642.925,-1338.75 723,-1426.09 723.666,-1426.82 724.346,-1427.52 725.04,-1428.21"/>
<polygon fill="#000000" stroke="#000000" points="723.071,-1431.14 732.951,-1434.96 727.612,-1425.81 723.071,-1431.14"/>
</g>
<!-- sourcefile~xdmf_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~xdmf_unstructured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge2" class="edge"><title>sourcefile~xdmf_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~xdmf_unstructured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M669.822,-785.041C676.313,-781.412 682.195,-776.838 687,-771.089 759.15,-684.763 658.091,-357.983 723,-266.089 738.047,-244.786 762.524,-231.093 786.533,-222.328"/>
<polygon fill="#000000" stroke="#000000" points="787.706,-225.626 796.045,-219.091 785.451,-218.999 787.706,-225.626"/>
</g>
<!-- sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~xh5for_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge18" class="edge"><title>sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~xh5for_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M585,-639.089C770.161,-627.118 1287.21,-430.001 1416.5,-563.089"/>
</g>
<!-- sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~hdf5_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge19" class="edge"><title>sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~hdf5_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M425.944,-670.171C456.83,-679.398 499.574,-692.166 532.672,-702.054"/>
<polygon fill="#000000" stroke="#000000" points="532.027,-705.514 542.61,-705.023 534.031,-698.807 532.027,-705.514"/>
</g>
<!-- sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~hdf5_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge17" class="edge"><title>sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~hdf5_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M418.428,-645.953C436.734,-639.398 459.996,-631.383 481,-625.089 494.382,-621.079 508.867,-617.145 522.604,-613.6"/>
<polygon fill="#000000" stroke="#000000" points="523.621,-616.953 532.447,-611.091 521.893,-610.169 523.621,-616.953"/>
</g>
<!-- sourcefile~structured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node35" class="node"><title>sourcefile~structured_contiguous_hyperslab_factory.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node35"><a xlink:href="../sourcefile/structured_contiguous_hyperslab_factory.f90.html" xlink:title="structured_contiguous_hyperslab_factory.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1295,-763.089 1068,-763.089 1068,-739.089 1295,-739.089 1295,-763.089"/>
<text text-anchor="middle" x="1181.5" y="-748.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">structured_contiguous_hyperslab_factory.f90</text>
</a>
</g>
</g>
<!-- sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge14" class="edge"><title>sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M585,-639.089C631.448,-635.696 650.307,-634.409 687,-663.089 714.563,-684.633 694.853,-712.313 723,-733.089 772.03,-769.28 798.608,-743.439 858,-757.089"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M860,-757.089C936.711,-774.719 1026.49,-771.037 1091.48,-764.211"/>
<polygon fill="#000000" stroke="#000000" points="1092.13,-767.661 1101.69,-763.091 1091.37,-760.702 1092.13,-767.661"/>
</g>
<!-- sourcefile~unstructured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node36" class="node"><title>sourcefile~unstructured_contiguous_hyperslab_factory.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node36"><a xlink:href="../sourcefile/unstructured_contiguous_hyperslab_factory.f90.html" xlink:title="unstructured_contiguous_hyperslab_factory.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1301,-443.089 1062,-443.089 1062,-419.089 1301,-419.089 1301,-443.089"/>
<text text-anchor="middle" x="1181.5" y="-428.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">unstructured_contiguous_hyperslab_factory.f90</text>
</a>
</g>
</g>
<!-- sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge15" class="edge"><title>sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M431.739,-653.034C471.732,-648.807 531.124,-642.878 583,-639.089"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M585,-639.089C630.991,-635.73 650.091,-647.732 687,-620.089 715.318,-598.879 695.422,-571.252 723,-549.089 753.55,-524.536 993.492,-470.872 1113.14,-445.251"/>
<polygon fill="#000000" stroke="#000000" points="1113.89,-448.67 1122.94,-443.158 1112.43,-441.824 1113.89,-448.67"/>
</g>
<!-- sourcefile~xh5for_abstract_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node37" class="node"><title>sourcefile~xh5for_abstract_factory.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node37"><a xlink:href="../sourcefile/xh5for_abstract_factory.f90.html" xlink:title="xh5for_abstract_factory.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="930.5,-691.089 787.5,-691.089 787.5,-667.089 930.5,-667.089 930.5,-691.089"/>
<text text-anchor="middle" x="859" y="-676.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_abstract_factory.f90</text>
</a>
</g>
</g>
<!-- sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~xh5for_abstract_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge16" class="edge"><title>sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~xh5for_abstract_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M585,-639.089C623.114,-636.305 719.771,-652.53 787.187,-665.15"/>
<polygon fill="#000000" stroke="#000000" points="786.851,-668.649 797.326,-667.062 788.148,-661.77 786.851,-668.649"/>
</g>
<!-- sourcefile~unstructured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node38" class="node"><title>sourcefile~unstructured_dataset_per_process_factory.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node38"><a xlink:href="../sourcefile/unstructured_dataset_per_process_factory.f90.html" xlink:title="unstructured_dataset_per_process_factory.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1299,-651.089 1064,-651.089 1064,-627.089 1299,-627.089 1299,-651.089"/>
<text text-anchor="middle" x="1181.5" y="-636.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">unstructured_dataset_per_process_factory.f90</text>
</a>
</g>
</g>
<!-- sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge20" class="edge"><title>sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M585,-639.089C706.011,-630.25 737.343,-651.886 858,-639.089"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M860,-639.089C923.552,-632.348 994.592,-631.656 1053.61,-632.942"/>
<polygon fill="#000000" stroke="#000000" points="1053.65,-636.443 1063.73,-633.184 1053.81,-629.445 1053.65,-636.443"/>
</g>
<!-- sourcefile~structured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node39" class="node"><title>sourcefile~structured_dataset_per_process_factory.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node39"><a xlink:href="../sourcefile/structured_dataset_per_process_factory.f90.html" xlink:title="structured_dataset_per_process_factory.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1293,-805.089 1070,-805.089 1070,-781.089 1293,-781.089 1293,-805.089"/>
<text text-anchor="middle" x="1181.5" y="-790.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">structured_dataset_per_process_factory.f90</text>
</a>
</g>
</g>
<!-- sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge21" class="edge"><title>sourcefile~hdf5_handler.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M860,-757.089C925.132,-772.058 999.198,-780.894 1059.71,-786.062"/>
<polygon fill="#000000" stroke="#000000" points="1059.43,-789.551 1069.69,-786.892 1060.01,-782.575 1059.43,-789.551"/>
</g>
<!-- sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_hdf5_regular_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge27" class="edge"><title>sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_hdf5_regular_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M955.726,-1399.71C982.126,-1398.23 1011.33,-1396.59 1039.71,-1395"/>
<polygon fill="#000000" stroke="#000000" points="1039.92,-1398.49 1049.71,-1394.43 1039.53,-1391.5 1039.92,-1398.49"/>
</g>
<!-- sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge25" class="edge"><title>sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M955.693,-1405.24C970.284,-1409.18 984.088,-1415.71 995,-1426.09 1052.21,-1480.53 982.899,-1537.46 1031,-1600.09 1053.68,-1629.62 1091.15,-1648.39 1122.9,-1659.76"/>
<polygon fill="#000000" stroke="#000000" points="1121.96,-1663.14 1132.55,-1663.06 1124.22,-1656.51 1121.96,-1663.14"/>
</g>
<!-- sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_xdmf_regular_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge24" class="edge"><title>sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_xdmf_regular_contiguous_hyperslabs_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M955.544,-1407.38C969.813,-1411.14 983.552,-1417.05 995,-1426.09 1028.16,-1452.28 1001.45,-1483.88 1031,-1514.09 1054.56,-1538.17 1088.54,-1553.91 1118.15,-1563.86"/>
<polygon fill="#000000" stroke="#000000" points="1117.41,-1567.3 1128,-1567.02 1119.55,-1560.63 1117.41,-1567.3"/>
</g>
<!-- sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge26" class="edge"><title>sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M892.986,-1393.01C921.369,-1381.8 962.724,-1363.5 995,-1341.09 1013.33,-1328.36 1010.96,-1315.9 1031,-1306.09 1035.08,-1304.09 1039.3,-1302.26 1043.61,-1300.6"/>
<polygon fill="#000000" stroke="#000000" points="1044.93,-1303.84 1053.19,-1297.2 1042.59,-1297.25 1044.93,-1303.84"/>
</g>
<!-- sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_hdf5_regular_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge29" class="edge"><title>sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_hdf5_regular_contiguous_hyperslabs_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M903.517,-1393.01C932.5,-1383.08 969.757,-1366.47 995,-1341.09 1021.64,-1314.3 1000.62,-1286.54 1031,-1264.09 1032.84,-1262.73 1034.73,-1261.44 1036.66,-1260.21"/>
<polygon fill="#000000" stroke="#000000" points="1038.44,-1263.23 1045.39,-1255.24 1034.97,-1257.14 1038.44,-1263.23"/>
</g>
<!-- sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_xdmf_rectilinear_dataset_per_process.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge30" class="edge"><title>sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_xdmf_rectilinear_dataset_per_process.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M955.781,-1414.69C969.199,-1417.56 982.622,-1421.27 995,-1426.09 1012.92,-1433.06 1013.55,-1442 1031,-1450.09 1056.96,-1462.12 1087.05,-1471.56 1113.39,-1478.49"/>
<polygon fill="#000000" stroke="#000000" points="1112.73,-1481.94 1123.29,-1481.03 1114.47,-1475.16 1112.73,-1481.94"/>
</g>
<!-- sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_hdf5_rectilinear_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge28" class="edge"><title>sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_hdf5_rectilinear_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M955.726,-1412.26C980.179,-1414.09 1007.04,-1416.1 1033.42,-1418.07"/>
<polygon fill="#000000" stroke="#000000" points="1033.26,-1421.57 1043.5,-1418.83 1033.79,-1414.59 1033.26,-1421.57"/>
</g>
<!-- sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_xdmf_regular_dataset_per_process.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge31" class="edge"><title>sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_xdmf_regular_dataset_per_process.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M933.698,-1393.05C953.731,-1389.2 975.323,-1384.5 995,-1379.09 1011.4,-1374.58 1014.75,-1371.13 1031,-1366.09 1059.98,-1357.1 1092.53,-1348.44 1119.85,-1341.57"/>
<polygon fill="#000000" stroke="#000000" points="1120.8,-1344.94 1129.66,-1339.13 1119.11,-1338.15 1120.8,-1344.94"/>
</g>
<!-- sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge22" class="edge"><title>sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M915.583,-1393.05C944.197,-1383.82 976.81,-1367.93 995,-1341.09 1066.08,-1236.21 944.897,-865.032 1031,-772.089 1038.71,-763.772 1048.07,-757.666 1058.33,-753.261"/>
<polygon fill="#000000" stroke="#000000" points="1059.81,-756.443 1067.97,-749.68 1057.37,-749.881 1059.81,-756.443"/>
</g>
<!-- sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge23" class="edge"><title>sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M915.132,-1393.08C943.794,-1383.85 976.598,-1367.94 995,-1341.09 1056.6,-1251.21 966.437,-939.862 1031,-852.089 1046.83,-830.563 1071.74,-816.886 1096.72,-808.198"/>
<polygon fill="#000000" stroke="#000000" points="1097.84,-811.514 1106.28,-805.106 1095.69,-804.854 1097.84,-811.514"/>
</g>
<!-- sourcefile~xdmf_handler.f90&#45;&gt;sourcefile~xdmf_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge33" class="edge"><title>sourcefile~xdmf_handler.f90&#45;&gt;sourcefile~xdmf_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M432.555,-826.035C455.925,-821.539 484.675,-816.007 510.76,-810.988"/>
<polygon fill="#000000" stroke="#000000" points="511.451,-814.419 520.61,-809.093 510.129,-807.545 511.451,-814.419"/>
</g>
<!-- sourcefile~xdmf_handler.f90&#45;&gt;sourcefile~xdmf_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge38" class="edge"><title>sourcefile~xdmf_handler.f90&#45;&gt;sourcefile~xdmf_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M415.496,-847.239C449.77,-861.122 505.981,-883.891 543.722,-899.179"/>
<polygon fill="#000000" stroke="#000000" points="542.786,-902.576 553.369,-903.086 545.414,-896.088 542.786,-902.576"/>
</g>
<!-- sourcefile~xdmf_handler.f90&#45;&gt;sourcefile~xh5for_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge37" class="edge"><title>sourcefile~xdmf_handler.f90&#45;&gt;sourcefile~xh5for_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M860,-833.089C890.836,-835.316 1394.39,-854.703 1416.5,-833.089"/>
</g>
<!-- sourcefile~xdmf_handler.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge35" class="edge"><title>sourcefile~xdmf_handler.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M585,-757.089C628.925,-743.054 645.743,-755.491 687,-776.089 706.419,-785.784 703.541,-799.473 723,-809.089 777.635,-836.086 797.218,-828.699 858,-833.089"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M860,-833.089C940.481,-838.901 952.643,-791.356 1031,-772.089 1042.14,-769.351 1053.83,-766.935 1065.57,-764.812"/>
<polygon fill="#000000" stroke="#000000" points="1066.18,-768.259 1075.43,-763.097 1064.98,-761.363 1066.18,-768.259"/>
</g>
<!-- sourcefile~xdmf_handler.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge34" class="edge"><title>sourcefile~xdmf_handler.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M403.355,-822.953C426.307,-807.549 465.094,-782.236 481,-776.089 524.013,-759.466 539.075,-771.124 583,-757.089"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M585,-757.089C628.925,-743.054 652.432,-768.608 687,-738.089 726.513,-703.204 686.617,-663.228 723,-625.089 812.011,-531.781 876.741,-575.507 995,-524.089 1050.35,-500.024 1112.7,-467.628 1149.18,-448.111"/>
<polygon fill="#000000" stroke="#000000" points="1151.16,-451.018 1158.32,-443.202 1147.85,-444.851 1151.16,-451.018"/>
</g>
<!-- sourcefile~xdmf_handler.f90&#45;&gt;sourcefile~xh5for_abstract_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge36" class="edge"><title>sourcefile~xdmf_handler.f90&#45;&gt;sourcefile~xh5for_abstract_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M585,-757.089C628.925,-743.054 642.415,-749.863 687,-738.089 732.599,-726.046 783.545,-707.829 817.873,-694.826"/>
<polygon fill="#000000" stroke="#000000" points="819.437,-697.975 827.531,-691.138 816.941,-691.435 819.437,-697.975"/>
</g>
<!-- sourcefile~xdmf_handler.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge32" class="edge"><title>sourcefile~xdmf_handler.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M585,-757.089C628.925,-743.054 650.743,-766.581 687,-738.089 717.656,-713.997 691.817,-681.494 723,-658.089 771.459,-621.715 797.747,-645.48 858,-639.089"/>
</g>
<!-- sourcefile~xdmf_handler.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge39" class="edge"><title>sourcefile~xdmf_handler.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M860,-833.089C905.187,-836.352 1021.02,-819.559 1100.32,-806.729"/>
<polygon fill="#000000" stroke="#000000" points="1100.97,-810.168 1110.28,-805.106 1099.85,-803.259 1100.97,-810.168"/>
</g>
<!-- sourcefile~xdmf_dataset_per_process_handler.f90&#45;&gt;sourcefile~xdmf_structured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge40" class="edge"><title>sourcefile~xdmf_dataset_per_process_handler.f90&#45;&gt;sourcefile~xdmf_structured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M652.427,-927.103C664.356,-930.658 676.354,-935.228 687,-941.089 706.28,-951.702 705.169,-962.189 723,-975.089 754.421,-997.819 793.751,-1018.3 821.84,-1031.74"/>
<polygon fill="#000000" stroke="#000000" points="820.371,-1034.92 830.908,-1036.02 823.36,-1028.59 820.371,-1034.92"/>
</g>
<!-- sourcefile~xdmf_dataset_per_process_handler.f90&#45;&gt;sourcefile~xdmf_unstructured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge41" class="edge"><title>sourcefile~xdmf_dataset_per_process_handler.f90&#45;&gt;sourcefile~xdmf_unstructured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M663.231,-903.053C696.501,-897.935 735.456,-891.942 769.749,-886.666"/>
<polygon fill="#000000" stroke="#000000" points="770.406,-890.106 779.758,-885.126 769.342,-883.187 770.406,-890.106"/>
</g>
<!-- sourcefile~xh5for.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node41" class="node"><title>sourcefile~xh5for.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node41"><a xlink:href="../sourcefile/xh5for.f90.html" xlink:title="xh5for.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1703,-723.089 1642,-723.089 1642,-699.089 1703,-699.089 1703,-723.089"/>
<text text-anchor="middle" x="1672.5" y="-708.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_handler.f90&#45;&gt;sourcefile~xh5for.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge70" class="edge"><title>sourcefile~xh5for_handler.f90&#45;&gt;sourcefile~xh5for.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1606.04,-711.089C1614.63,-711.089 1623.43,-711.089 1631.69,-711.089"/>
<polygon fill="#000000" stroke="#000000" points="1631.81,-714.589 1641.81,-711.089 1631.81,-707.589 1631.81,-714.589"/>
</g>
<!-- sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge73" class="edge"><title>sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M903.199,-966.099C933.803,-976.931 973.158,-996.031 995,-1027.09 1056.29,-1114.24 955.243,-1189.18 1031,-1264.09 1031.94,-1265.02 1032.91,-1265.93 1033.89,-1266.8"/>
<polygon fill="#000000" stroke="#000000" points="1031.78,-1269.59 1041.81,-1272.99 1036.08,-1264.07 1031.78,-1269.59"/>
</g>
<!-- sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~test_hdf5_regular_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge72" class="edge"><title>sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~test_hdf5_regular_contiguous_hyperslabs_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M889.252,-966.136C917.928,-978.78 962.017,-1000.5 995,-1027.09 1070.13,-1087.66 1138.56,-1181.47 1166.81,-1222.59"/>
<polygon fill="#000000" stroke="#000000" points="1163.99,-1224.68 1172.51,-1230.98 1169.78,-1220.75 1163.99,-1224.68"/>
</g>
<!-- sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge71" class="edge"><title>sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M912.936,-942.079C940.922,-933.186 973.781,-918.293 995,-894.089 1032.27,-851.577 988.19,-809.012 1031,-772.089 1039.05,-765.148 1048.29,-759.88 1058.16,-755.927"/>
<polygon fill="#000000" stroke="#000000" points="1059.53,-759.157 1067.79,-752.529 1057.2,-752.556 1059.53,-759.157"/>
</g>
<!-- sourcefile~unstructured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_hdf5_unstructured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge79" class="edge"><title>sourcefile~unstructured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_hdf5_unstructured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M943.331,-299.138C960.457,-301.87 978.341,-304.911 995,-308.089 1037.54,-316.204 1085.19,-327.03 1121.54,-335.657"/>
<polygon fill="#000000" stroke="#000000" points="1120.94,-339.112 1131.48,-338.028 1122.57,-332.303 1120.94,-339.112"/>
</g>
<!-- sourcefile~unstructured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_xdmf_unstructured_dataset_per_process.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge74" class="edge"><title>sourcefile~unstructured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_xdmf_unstructured_dataset_per_process.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M961.644,-287.503C974.282,-291.694 985.926,-298.226 995,-308.089 1071.32,-391.05 964.316,-723.198 1031,-814.089 1046.73,-835.534 1071.48,-849.189 1096.34,-857.882"/>
<polygon fill="#000000" stroke="#000000" points="1095.27,-861.212 1105.86,-860.976 1097.43,-854.555 1095.27,-861.212"/>
</g>
<!-- sourcefile~unstructured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_hdf5_unstructured_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge76" class="edge"><title>sourcefile~unstructured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_hdf5_unstructured_contiguous_hyperslabs_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M961.849,-277.873C985.959,-275.691 1012.11,-273.325 1037.67,-271.013"/>
<polygon fill="#000000" stroke="#000000" points="1038.16,-274.482 1047.81,-270.095 1037.53,-267.511 1038.16,-274.482"/>
</g>
<!-- sourcefile~unstructured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_xdmf_unstructured_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge78" class="edge"><title>sourcefile~unstructured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_xdmf_unstructured_contiguous_hyperslabs_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M900.349,-275.006C934.952,-264.712 986.173,-249.638 1031,-237.089 1061.76,-228.477 1096.2,-219.236 1124.26,-211.808"/>
<polygon fill="#000000" stroke="#000000" points="1125.52,-215.096 1134.29,-209.158 1123.73,-208.329 1125.52,-215.096"/>
</g>
<!-- sourcefile~unstructured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge75" class="edge"><title>sourcefile~unstructured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M961.547,-292.619C973.462,-296.171 984.939,-301.161 995,-308.089 1021.56,-326.377 1006.68,-349.905 1031,-371.089 1055.53,-392.463 1088.65,-406.802 1117.47,-416.085"/>
<polygon fill="#000000" stroke="#000000" points="1116.48,-419.441 1127.07,-419.043 1118.54,-412.752 1116.48,-419.441"/>
</g>
<!-- sourcefile~unstructured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge77" class="edge"><title>sourcefile~unstructured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M961.508,-289.437C973.855,-293.414 985.454,-299.372 995,-308.089 1043.71,-352.575 1001.73,-392.968 1031,-452.089 1065,-520.768 1127.57,-587.519 1159.92,-619.494"/>
<polygon fill="#000000" stroke="#000000" points="1157.86,-622.372 1167.46,-626.854 1162.75,-617.363 1157.86,-622.372"/>
</g>
<!-- sourcefile~hdf5_unstructured_dataset_per_process_handler.f90&#45;&gt;sourcefile~test_hdf5_unstructured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge81" class="edge"><title>sourcefile~hdf5_unstructured_dataset_per_process_handler.f90&#45;&gt;sourcefile~test_hdf5_unstructured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M992.21,-362.426C1003.61,-361.679 1015.21,-360.919 1026.76,-360.162"/>
<polygon fill="#000000" stroke="#000000" points="1027.15,-363.644 1036.9,-359.498 1026.69,-356.659 1027.15,-363.644"/>
</g>
<!-- sourcefile~hdf5_unstructured_dataset_per_process_handler.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge80" class="edge"><title>sourcefile~hdf5_unstructured_dataset_per_process_handler.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M874.604,-383.301C925.598,-425.941 1095.99,-568.418 1157.83,-620.131"/>
<polygon fill="#000000" stroke="#000000" points="1155.89,-623.075 1165.81,-626.805 1160.38,-617.705 1155.89,-623.075"/>
</g>
<!-- sourcefile~hdf5_structured_dataset_per_process_handler.f90&#45;&gt;sourcefile~test_hdf5_regular_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge84" class="edge"><title>sourcefile~hdf5_structured_dataset_per_process_handler.f90&#45;&gt;sourcefile~test_hdf5_regular_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M872.102,-1191.13C910.711,-1229.54 1028.57,-1346.71 1031,-1348.09 1050.1,-1358.96 1072.3,-1366.87 1093.64,-1372.6"/>
<polygon fill="#000000" stroke="#000000" points="1092.82,-1376 1103.38,-1375.08 1094.55,-1369.22 1092.82,-1376"/>
</g>
<!-- sourcefile~hdf5_structured_dataset_per_process_handler.f90&#45;&gt;sourcefile~test_hdf5_rectilinear_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge82" class="edge"><title>sourcefile~hdf5_structured_dataset_per_process_handler.f90&#45;&gt;sourcefile~test_hdf5_rectilinear_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M876.361,-1191.41C904.238,-1213.16 961.202,-1261.01 995,-1313.09 1019.58,-1350.96 995.723,-1379.91 1031,-1408.09 1032.57,-1409.35 1034.19,-1410.55 1035.84,-1411.69"/>
<polygon fill="#000000" stroke="#000000" points="1034.04,-1414.69 1044.38,-1416.99 1037.72,-1408.74 1034.04,-1414.69"/>
</g>
<!-- sourcefile~hdf5_structured_dataset_per_process_handler.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge83" class="edge"><title>sourcefile~hdf5_structured_dataset_per_process_handler.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M883.488,-1167.06C914.502,-1149.85 968.296,-1115.11 995,-1069.09 1044.06,-984.529 969.554,-928.127 1031,-852.089 1048.34,-830.632 1074.58,-816.948 1100.27,-808.234"/>
<polygon fill="#000000" stroke="#000000" points="1101.59,-811.487 1110.07,-805.132 1099.48,-804.814 1101.59,-811.487"/>
</g>
<!-- sourcefile~xdmf_structured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge87" class="edge"><title>sourcefile~xdmf_structured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M871.512,-1459.42C897.811,-1487.1 965.129,-1555.27 1031,-1600.09 1066.36,-1624.14 1110.51,-1645.34 1141.63,-1659.01"/>
<polygon fill="#000000" stroke="#000000" points="1140.28,-1662.24 1150.85,-1663.01 1143.07,-1655.82 1140.28,-1662.24"/>
</g>
<!-- sourcefile~xdmf_structured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~test_xdmf_regular_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge86" class="edge"><title>sourcefile~xdmf_structured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~test_xdmf_regular_contiguous_hyperslabs_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M889.292,-1459.15C947.204,-1483 1076.36,-1536.2 1141.43,-1563"/>
<polygon fill="#000000" stroke="#000000" points="1140.35,-1566.34 1150.93,-1566.91 1143.01,-1559.86 1140.35,-1566.34"/>
</g>
<!-- sourcefile~xdmf_structured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge85" class="edge"><title>sourcefile~xdmf_structured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M985.103,-1435.01C988.656,-1432.39 991.975,-1429.43 995,-1426.09 1092.69,-1318.18 932.521,-879.269 1031,-772.089 1038.67,-763.74 1048.02,-757.613 1058.26,-753.196"/>
<polygon fill="#000000" stroke="#000000" points="1059.74,-756.378 1067.89,-749.605 1057.29,-749.819 1059.74,-756.378"/>
</g>
<!-- sourcefile~xdmf_structured_dataset_per_process_handler.f90&#45;&gt;sourcefile~test_xdmf_rectilinear_dataset_per_process.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge88" class="edge"><title>sourcefile~xdmf_structured_dataset_per_process_handler.f90&#45;&gt;sourcefile~test_xdmf_rectilinear_dataset_per_process.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M884.038,-1060.1C915.413,-1077.19 969.336,-1111.65 995,-1158.09 1058.25,-1272.53 946.094,-1350.64 1031,-1450.09 1041.21,-1462.05 1054.52,-1470.8 1068.98,-1477.17"/>
<polygon fill="#000000" stroke="#000000" points="1068.04,-1480.56 1078.63,-1481.02 1070.64,-1474.06 1068.04,-1480.56"/>
</g>
<!-- sourcefile~xdmf_structured_dataset_per_process_handler.f90&#45;&gt;sourcefile~test_xdmf_regular_dataset_per_process.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge90" class="edge"><title>sourcefile~xdmf_structured_dataset_per_process_handler.f90&#45;&gt;sourcefile~test_xdmf_regular_dataset_per_process.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M882.476,-1060.12C912.841,-1077.57 966.446,-1112.83 995,-1158.09 1031.12,-1215.34 980.821,-1260.65 1031,-1306.09 1039.49,-1313.78 1049.44,-1319.45 1060.1,-1323.58"/>
<polygon fill="#000000" stroke="#000000" points="1059.04,-1326.91 1069.63,-1326.82 1061.29,-1320.29 1059.04,-1326.91"/>
</g>
<!-- sourcefile~xdmf_structured_dataset_per_process_handler.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge89" class="edge"><title>sourcefile~xdmf_structured_dataset_per_process_handler.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M899.808,-1035.99C930.072,-1024.83 970.542,-1005.34 995,-975.089 1030.81,-930.795 992.6,-894.159 1031,-852.089 1050.52,-830.705 1078.77,-816.964 1105.48,-808.182"/>
<polygon fill="#000000" stroke="#000000" points="1106.71,-811.465 1115.23,-805.166 1104.64,-804.778 1106.71,-811.465"/>
</g>
<!-- sourcefile~hdf5_dataset_per_process_handler.f90&#45;&gt;sourcefile~hdf5_unstructured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge92" class="edge"><title>sourcefile~hdf5_dataset_per_process_handler.f90&#45;&gt;sourcefile~hdf5_unstructured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M611.929,-705.005C634.187,-693.976 665.513,-675.928 687,-653.089 709.895,-628.752 706.138,-615.935 723,-587.089 765.586,-514.235 819.696,-429.973 844.487,-391.793"/>
<polygon fill="#000000" stroke="#000000" points="847.614,-393.405 850.133,-383.114 841.746,-389.588 847.614,-393.405"/>
</g>
<!-- sourcefile~hdf5_dataset_per_process_handler.f90&#45;&gt;sourcefile~hdf5_structured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge91" class="edge"><title>sourcefile~hdf5_dataset_per_process_handler.f90&#45;&gt;sourcefile~hdf5_structured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M669.701,-729.239C676.217,-732.846 682.138,-737.388 687,-743.089 744.053,-809.983 667.706,-1068.73 723,-1137.09 732.281,-1148.56 744.65,-1156.96 758.143,-1163.1"/>
<polygon fill="#000000" stroke="#000000" points="757.06,-1166.44 767.64,-1167 759.718,-1159.97 757.06,-1166.44"/>
</g>
<!-- sourcefile~xdmf_unstructured_dataset_per_process_handler.f90&#45;&gt;sourcefile~test_xdmf_unstructured_dataset_per_process.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge94" class="edge"><title>sourcefile~xdmf_unstructured_dataset_per_process_handler.f90&#45;&gt;sourcefile~test_xdmf_unstructured_dataset_per_process.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M993.136,-873.089C1010.6,-873.089 1028.52,-873.089 1046.01,-873.089"/>
<polygon fill="#000000" stroke="#000000" points="1046.25,-876.589 1056.25,-873.089 1046.25,-869.589 1046.25,-876.589"/>
</g>
<!-- sourcefile~xdmf_unstructured_dataset_per_process_handler.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge93" class="edge"><title>sourcefile~xdmf_unstructured_dataset_per_process_handler.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M975.253,-860.992C982.444,-857.272 989.133,-852.696 995,-847.089 1044.56,-799.72 985.889,-748.717 1031,-697.089 1049.27,-676.176 1076.01,-662.754 1101.83,-654.161"/>
<polygon fill="#000000" stroke="#000000" points="1103.16,-657.414 1111.66,-651.099 1101.08,-650.73 1103.16,-657.414"/>
</g>
<!-- sourcefile~steps_handler.f90&#45;&gt;sourcefile~test_hdf5_unstructured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge99" class="edge"><title>sourcefile~steps_handler.f90&#45;&gt;sourcefile~test_hdf5_unstructured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M267.635,-1020.79C275.511,-1017.06 282.788,-1011.99 288,-1005.09 344.45,-930.332 271.292,-662.529 324,-585.089 367.84,-520.678 407.561,-533.117 481,-507.089 508.581,-497.314 966.453,-398.514 995,-392.089 1035.78,-382.91 1081.59,-372.538 1117.49,-364.398"/>
<polygon fill="#000000" stroke="#000000" points="1118.36,-367.789 1127.33,-362.164 1116.81,-360.963 1118.36,-367.789"/>
</g>
<!-- sourcefile~steps_handler.f90&#45;&gt;sourcefile~hdf5_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge103" class="edge"><title>sourcefile~steps_handler.f90&#45;&gt;sourcefile~hdf5_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M267.837,-1020.51C275.594,-1016.81 282.776,-1011.82 288,-1005.09 376.004,-891.664 238.813,-799.644 324,-684.089 326.274,-681.004 328.994,-678.279 332.001,-675.875"/>
<polygon fill="#000000" stroke="#000000" points="334.12,-678.669 340.521,-670.226 330.252,-672.834 334.12,-678.669"/>
</g>
<!-- sourcefile~steps_handler.f90&#45;&gt;sourcefile~test_hdf5_regular_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge104" class="edge"><title>sourcefile~steps_handler.f90&#45;&gt;sourcefile~test_hdf5_regular_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M385.5,-1487.09C457.731,-1536.96 495.429,-1481.07 583,-1487.09"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M585,-1487.09C706.047,-1495.41 738.733,-1509.39 858,-1487.09"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M860,-1487.09C919.559,-1475.95 944.488,-1501.55 995,-1468.09 1020.93,-1450.91 1005.07,-1425.26 1031,-1408.09 1034.13,-1406.01 1037.39,-1404.1 1040.73,-1402.35"/>
<polygon fill="#000000" stroke="#000000" points="1042.26,-1405.5 1049.8,-1398.06 1039.27,-1399.17 1042.26,-1405.5"/>
</g>
<!-- sourcefile~steps_handler.f90&#45;&gt;sourcefile~test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge95" class="edge"><title>sourcefile~steps_handler.f90&#45;&gt;sourcefile~test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M385.5,-1487.09C410.872,-1504.74 423.265,-1501.11 445,-1523.09 467.138,-1545.47 455.745,-1565.3 481,-1584.09 619.45,-1687.12 686.225,-1660.45 858,-1677.09"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M860,-1677.09C914.355,-1683.72 974.281,-1684.95 1027.46,-1683.96"/>
<polygon fill="#000000" stroke="#000000" points="1027.73,-1687.46 1037.66,-1683.75 1027.59,-1680.46 1027.73,-1687.46"/>
</g>
<!-- sourcefile~steps_handler.f90&#45;&gt;sourcefile~test_xdmf_regular_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge97" class="edge"><title>sourcefile~steps_handler.f90&#45;&gt;sourcefile~test_xdmf_regular_contiguous_hyperslabs_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M385.5,-1487.09C606.936,-1639.99 948.344,-1614.2 1101.46,-1592.57"/>
<polygon fill="#000000" stroke="#000000" points="1102.31,-1595.99 1111.71,-1591.09 1101.31,-1589.06 1102.31,-1595.99"/>
</g>
<!-- sourcefile~steps_handler.f90&#45;&gt;sourcefile~test_xdmf_unstructured_dataset_per_process.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge96" class="edge"><title>sourcefile~steps_handler.f90&#45;&gt;sourcefile~test_xdmf_unstructured_dataset_per_process.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M222.737,-1043.26C232.052,-1075.51 262.289,-1163.02 324,-1197.09 371.079,-1223.08 391.433,-1201.85 445,-1197.09 537.873,-1188.83 771.058,-1156.77 858,-1123.09"/>
</g>
<!-- sourcefile~steps_handler.f90&#45;&gt;sourcefile~xdmf_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge102" class="edge"><title>sourcefile~steps_handler.f90&#45;&gt;sourcefile~xdmf_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M267.822,-1019.59C275.389,-1015.99 282.508,-1011.27 288,-1005.09 331.821,-955.776 281.405,-911.464 324,-861.089 326.784,-857.796 330.065,-854.907 333.631,-852.374"/>
<polygon fill="#000000" stroke="#000000" points="335.625,-855.258 342.372,-847.089 332.004,-849.268 335.625,-855.258"/>
</g>
<!-- sourcefile~steps_handler.f90&#45;&gt;sourcefile~xh5for_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge101" class="edge"><title>sourcefile~steps_handler.f90&#45;&gt;sourcefile~xh5for_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M860,-1677.09C895.597,-1681.43 1151.42,-1736.08 1180.5,-1715.09"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1182.5,-1715.09C1236.81,-1675.89 1285.33,-1744.13 1332,-1696.09 1466.28,-1557.88 1279.08,-968.166 1416.5,-833.089"/>
</g>
<!-- sourcefile~steps_handler.f90&#45;&gt;sourcefile~steps_handler_test.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge105" class="edge"><title>sourcefile~steps_handler.f90&#45;&gt;sourcefile~steps_handler_test.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M219.179,-1043.18C218.242,-1099.97 220.632,-1343.96 324,-1501.09 330.664,-1511.22 340.592,-1519.76 350.437,-1526.49"/>
<polygon fill="#000000" stroke="#000000" points="348.67,-1529.51 358.984,-1531.93 352.431,-1523.61 348.67,-1529.51"/>
</g>
<!-- sourcefile~steps_handler.f90&#45;&gt;sourcefile~test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge106" class="edge"><title>sourcefile~steps_handler.f90&#45;&gt;sourcefile~test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M385.5,-1487.09C425.075,-1514.83 436.8,-1454.63 481,-1435.09 585.124,-1389.04 612.831,-1379.81 723,-1351.09 781.97,-1335.72 798.052,-1338.04 858,-1327.09"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M860,-1327.09C928.78,-1316.19 1006.19,-1305.99 1067.7,-1298.37"/>
<polygon fill="#000000" stroke="#000000" points="1068.32,-1301.82 1077.82,-1297.12 1067.46,-1294.87 1068.32,-1301.82"/>
</g>
<!-- sourcefile~steps_handler.f90&#45;&gt;sourcefile~test_hdf5_regular_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge108" class="edge"><title>sourcefile~steps_handler.f90&#45;&gt;sourcefile~test_hdf5_regular_contiguous_hyperslabs_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M219.235,-1043.22C218.642,-1104.41 225,-1380.55 383.5,-1487.09"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M385.5,-1487.09C433.904,-1519.62 431.811,-1428.42 481,-1397.09 633.091,-1300.2 677.74,-1252.14 858,-1247.09"/>
</g>
<!-- sourcefile~steps_handler.f90&#45;&gt;sourcefile~test_xdmf_rectilinear_dataset_per_process.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge109" class="edge"><title>sourcefile~steps_handler.f90&#45;&gt;sourcefile~test_xdmf_rectilinear_dataset_per_process.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M585,-1487.09C650.389,-1491.59 658.518,-1527.34 723,-1539.09 841.932,-1560.75 875.003,-1553.75 995,-1539.09 1042.87,-1533.24 1096.17,-1519.21 1133.31,-1508.17"/>
<polygon fill="#000000" stroke="#000000" points="1134.78,-1511.38 1143.34,-1505.14 1132.76,-1504.68 1134.78,-1511.38"/>
</g>
<!-- sourcefile~steps_handler.f90&#45;&gt;sourcefile~test_hdf5_unstructured_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge98" class="edge"><title>sourcefile~steps_handler.f90&#45;&gt;sourcefile~test_hdf5_unstructured_contiguous_hyperslabs_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M267.705,-1020.84C275.574,-1017.11 282.831,-1012.02 288,-1005.09 353.515,-917.194 257.109,-599.941 324,-513.089 369.025,-454.628 409.631,-477.834 481,-459.089 571.046,-435.438 619.678,-485.396 687,-421.089 738.14,-372.238 668.01,-310.56 723,-266.089 774.391,-224.528 952.268,-233.616 1070.49,-245.069"/>
<polygon fill="#000000" stroke="#000000" points="1070.37,-248.575 1080.67,-246.075 1071.06,-241.609 1070.37,-248.575"/>
</g>
<!-- sourcefile~steps_handler.f90&#45;&gt;sourcefile~test_hdf5_rectilinear_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge107" class="edge"><title>sourcefile~steps_handler.f90&#45;&gt;sourcefile~test_hdf5_rectilinear_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M585,-1487.09C707.215,-1495.49 737.458,-1546.92 858,-1525.09"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M860,-1525.09C919.965,-1514.23 939.532,-1526.33 995,-1501.09 1013.7,-1492.58 1012.77,-1481.56 1031,-1472.09 1055.01,-1459.61 1083.13,-1450.32 1108.46,-1443.62"/>
<polygon fill="#000000" stroke="#000000" points="1109.56,-1446.95 1118.39,-1441.09 1107.83,-1440.17 1109.56,-1446.95"/>
</g>
<!-- sourcefile~steps_handler.f90&#45;&gt;sourcefile~test_xdmf_unstructured_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge100" class="edge"><title>sourcefile~steps_handler.f90&#45;&gt;sourcefile~test_xdmf_unstructured_contiguous_hyperslabs_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M267.744,-1020.87C275.61,-1017.14 282.855,-1012.04 288,-1005.09 360.066,-907.7 264.148,-566.425 324,-461.089 430.399,-273.833 517.357,-250.091 723,-186.089 858.5,-143.917 1027.63,-165.948 1117.51,-183.121"/>
<polygon fill="#000000" stroke="#000000" points="1117.05,-186.598 1127.54,-185.081 1118.39,-179.728 1117.05,-186.598"/>
</g>
<!-- sourcefile~steps_handler.f90&#45;&gt;sourcefile~test_xdmf_regular_dataset_per_process.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge110" class="edge"><title>sourcefile~steps_handler.f90&#45;&gt;sourcefile~test_xdmf_regular_dataset_per_process.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M860,-1327.09C925.329,-1316.74 999.093,-1316 1059.37,-1318.18"/>
<polygon fill="#000000" stroke="#000000" points="1059.56,-1321.69 1069.69,-1318.59 1059.84,-1314.69 1059.56,-1321.69"/>
</g>
<!-- sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~test_hdf5_unstructured_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge111" class="edge"><title>sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~test_hdf5_unstructured_contiguous_hyperslabs_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M946.677,-317.038C962.797,-314.391 979.453,-311.383 995,-308.089 1041.38,-298.261 1093.44,-283.933 1130.58,-273.132"/>
<polygon fill="#000000" stroke="#000000" points="1132.03,-276.355 1140.64,-270.185 1130.06,-269.637 1132.03,-276.355"/>
</g>
<!-- sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge112" class="edge"><title>sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M963.453,-341.091C974.248,-343.552 984.942,-346.517 995,-350.089 1012.46,-356.287 1014.36,-362.951 1031,-371.089 1065.8,-388.108 1106.71,-404.275 1136.92,-415.529"/>
<polygon fill="#000000" stroke="#000000" points="1135.75,-418.825 1146.34,-419.006 1138.17,-412.258 1135.75,-418.825"/>
</g>
<!-- sourcefile~xdmf_unstructured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~test_xdmf_unstructured_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge114" class="edge"><title>sourcefile~xdmf_unstructured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~test_xdmf_unstructured_contiguous_hyperslabs_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M995.456,-202.862C1003.78,-202.603 1012.19,-202.34 1020.6,-202.078"/>
<polygon fill="#000000" stroke="#000000" points="1020.96,-205.568 1030.85,-201.758 1020.74,-198.572 1020.96,-205.568"/>
</g>
<!-- sourcefile~xdmf_unstructured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge113" class="edge"><title>sourcefile~xdmf_unstructured_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M912.853,-219.155C940.64,-227.958 973.334,-242.576 995,-266.089 1028.43,-302.369 997.023,-335.321 1031,-371.089 1051.76,-392.946 1081.54,-407.034 1109.07,-416.021"/>
<polygon fill="#000000" stroke="#000000" points="1108.11,-419.386 1118.69,-418.991 1110.17,-412.697 1108.11,-419.386"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge126" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M268.705,-686.087C287.265,-681.561 308.508,-676.379 327.634,-671.715"/>
<polygon fill="#000000" stroke="#000000" points="328.53,-675.099 337.416,-669.329 326.872,-668.298 328.53,-675.099"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~structured_spatial_grid_descriptor.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge120" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~structured_spatial_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M223.226,-710.261C234.575,-746.201 271.195,-854.143 324,-931.089 367.212,-994.056 391.591,-998.503 445,-1053.09 569.42,-1180.25 578.506,-1237.3 723,-1341.09 751.362,-1361.46 787.228,-1378.1 814.863,-1389.31"/>
<polygon fill="#000000" stroke="#000000" points="813.683,-1392.61 824.269,-1393.04 816.265,-1386.1 813.683,-1392.61"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge127" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M234.054,-710.247C262.672,-734.153 326.456,-787.437 360.71,-816.051"/>
<polygon fill="#000000" stroke="#000000" points="358.825,-819.036 368.743,-822.761 363.312,-813.664 358.825,-819.036"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~xh5for_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge124" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~xh5for_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M219.77,-685.883C221.484,-630.611 233.969,-399.617 324,-241.089 329.957,-230.599 469.803,-95.5778 481,-91.0887 694.018,-5.68506 1174.92,-31.6675 1332,-176.089 1461.6,-295.243 1296.02,-434.72 1416.5,-563.089"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1418.5,-563.089C1461.62,-608.138 1510.56,-662.684 1536.02,-691.326"/>
<polygon fill="#000000" stroke="#000000" points="1533.59,-693.859 1542.84,-699.016 1538.82,-689.213 1533.59,-693.859"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge122" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M385.5,-875.089C448.3,-898.817 621.208,-880.739 687,-894.089 734.848,-903.798 787.522,-923.783 821.588,-938.019"/>
<polygon fill="#000000" stroke="#000000" points="820.537,-941.374 831.11,-942.051 823.267,-934.928 820.537,-941.374"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~unstructured_spatial_grid_descriptor.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge118" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~unstructured_spatial_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M219.649,-685.867C220.915,-639.583 231.946,-473.579 324,-392.089 440.174,-289.246 627.032,-275.138 746.089,-278.242"/>
<polygon fill="#000000" stroke="#000000" points="746.221,-281.747 756.323,-278.555 746.435,-274.751 746.221,-281.747"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_unstructured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge125" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_unstructured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M585,-407.089C649.061,-402.514 721.067,-392.827 775.039,-384.653"/>
<polygon fill="#000000" stroke="#000000" points="775.886,-388.064 785.242,-383.093 774.828,-381.144 775.886,-388.064"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_structured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge133" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_structured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M222.458,-710.355C237.945,-774.381 309.533,-1067.8 324,-1081.09 432.09,-1180.37 606.251,-1195.14 726.118,-1191.46"/>
<polygon fill="#000000" stroke="#000000" points="726.588,-1194.95 736.457,-1191.1 726.34,-1187.95 726.588,-1194.95"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_structured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge129" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_structured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M222.849,-710.249C233.437,-748.977 266.74,-873.002 288,-977.089 307.827,-1074.16 267.568,-1115.65 324,-1197.09 440.457,-1365.15 530.082,-1358.35 723,-1426.09 730.002,-1428.55 737.31,-1430.72 744.743,-1432.64"/>
<polygon fill="#000000" stroke="#000000" points="744.03,-1436.06 754.572,-1435.01 745.675,-1429.26 744.03,-1436.06"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_structured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge117" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_structured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M222.699,-710.498C232.098,-744.448 262.893,-839.621 324,-889.089 395.92,-947.31 658.59,-1007.31 786.732,-1033.92"/>
<polygon fill="#000000" stroke="#000000" points="786.339,-1037.41 796.84,-1036 787.755,-1030.55 786.339,-1037.41"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge128" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M385.5,-698.089C418.447,-698.006 454.345,-700.638 486.389,-703.967"/>
<polygon fill="#000000" stroke="#000000" points="486.332,-707.481 496.649,-705.069 487.08,-700.521 486.332,-707.481"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_unstructured_dataset_per_process_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge121" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_unstructured_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M224.237,-710.421C236.247,-740.058 270.762,-815.804 324,-856.089 346.137,-872.839 357.532,-865.277 383.5,-875.089"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M385.5,-875.089C406.405,-882.987 560.936,-840.631 583,-837.089"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M585,-837.089C622.77,-831.026 720.004,-846.612 787.596,-859.149"/>
<polygon fill="#000000" stroke="#000000" points="787.285,-862.652 797.759,-861.052 788.574,-855.771 787.285,-862.652"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge119" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M220.078,-686.02C222.837,-643.223 238.412,-497.832 324,-433.089 416.265,-363.295 467.604,-415.329 583,-407.089"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M585,-407.089C651.126,-401.533 659.098,-367.981 723,-350.089 732.422,-347.451 742.313,-345.117 752.276,-343.059"/>
<polygon fill="#000000" stroke="#000000" points="753.116,-346.461 762.25,-341.092 751.761,-339.594 753.116,-346.461"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_unstructured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge131" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~xdmf_unstructured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M218.911,-685.862C217.098,-633.634 217.159,-427.014 324,-319.089 424.552,-217.516 592.075,-196.769 712.697,-196.856"/>
<polygon fill="#000000" stroke="#000000" points="712.737,-200.356 722.756,-196.911 712.775,-193.356 712.737,-200.356"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge130" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~hdf5_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M385.5,-599.089C414.461,-589.529 447.138,-586.612 477.454,-586.876"/>
<polygon fill="#000000" stroke="#000000" points="477.567,-590.379 487.636,-587.083 477.709,-583.38 477.567,-590.379"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge116" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M234.183,-686.034C261.577,-664.309 323.179,-619.001 383.5,-599.089"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M385.5,-599.089C513.055,-556.983 579.414,-497.663 687,-578.089 732.28,-611.938 679.668,-663.78 723,-700.089 748.273,-721.266 931.087,-736.333 1057.82,-744.368"/>
<polygon fill="#000000" stroke="#000000" points="1057.79,-747.873 1067.99,-745.005 1058.23,-740.887 1057.79,-747.873"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge134" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M585,-407.089C751.935,-393.065 945.908,-406.379 1065.95,-418.061"/>
<polygon fill="#000000" stroke="#000000" points="1065.96,-421.579 1076.25,-419.078 1066.64,-414.613 1065.96,-421.579"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~xh5for_abstract_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge123" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~xh5for_abstract_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M585,-521.089C630.318,-531.819 652.611,-513.684 687,-545.089 724.362,-579.208 684.95,-619.739 723,-653.089 738.048,-666.278 757.719,-673.617 777.37,-677.523"/>
<polygon fill="#000000" stroke="#000000" points="776.859,-680.987 787.306,-679.221 778.038,-674.087 776.859,-680.987"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge115" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M227.465,-685.954C243.186,-662.935 280.482,-612.761 324,-585.089 424.058,-521.464 467.617,-493.77 583,-521.089"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M585,-521.089C789.57,-534.64 1027.08,-595.728 1129.36,-624.286"/>
<polygon fill="#000000" stroke="#000000" points="1128.55,-627.693 1139.12,-627.028 1130.44,-620.954 1128.55,-627.693"/>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge132" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M288.122,-698.165C317.497,-698.178 352.181,-698.167 383.5,-698.089"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M385.5,-698.089C519.503,-697.753 573.582,-624.722 687,-696.089 718.295,-715.78 692.187,-750.651 723,-771.089 776.283,-806.431 943.155,-806.052 1059.88,-800.884"/>
<polygon fill="#000000" stroke="#000000" points="1060.13,-804.377 1069.96,-800.421 1059.81,-797.384 1060.13,-804.377"/>
</g>
<!-- sourcefile~hdf5_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge135" class="edge"><title>sourcefile~hdf5_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~hdf5_structured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M668.969,-611.198C675.725,-614.802 681.898,-619.355 687,-625.089 767.18,-715.204 650.694,-797.541 723,-894.089 739.22,-915.746 764.997,-929.743 789.701,-938.715"/>
<polygon fill="#000000" stroke="#000000" points="788.862,-942.127 799.457,-942.029 791.113,-935.499 788.862,-942.127"/>
</g>
<!-- sourcefile~hdf5_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge136" class="edge"><title>sourcefile~hdf5_contiguous_hyperslab_handler.f90&#45;&gt;sourcefile~hdf5_unstructured_contiguous_hyperslab_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M617.675,-586.88C640.66,-576.582 670.206,-559.567 687,-535.089 734.388,-466.017 662.659,-408.187 723,-350.089 723.985,-349.14 724.994,-348.224 726.026,-347.338"/>
<polygon fill="#000000" stroke="#000000" points="728.418,-349.922 734.351,-341.144 724.239,-344.306 728.418,-349.922"/>
</g>
<!-- sourcefile~xh5for_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node40" class="node"><title>sourcefile~xh5for_factory.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node40"><a xlink:href="../sourcefile/xh5for_factory.f90.html" xlink:title="xh5for_factory.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1467,-723.089 1368,-723.089 1368,-699.089 1467,-699.089 1467,-723.089"/>
<text text-anchor="middle" x="1417.5" y="-708.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_factory.f90</text>
</a>
</g>
</g>
<!-- sourcefile~structured_contiguous_hyperslab_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge4" class="edge"><title>sourcefile~structured_contiguous_hyperslab_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1252.71,-739.087C1286.23,-733.356 1325.9,-726.576 1357.8,-721.123"/>
<polygon fill="#000000" stroke="#000000" points="1358.6,-724.538 1367.86,-719.403 1357.42,-717.638 1358.6,-724.538"/>
</g>
<!-- sourcefile~unstructured_contiguous_hyperslab_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge5" class="edge"><title>sourcefile~unstructured_contiguous_hyperslab_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1192.55,-443.12C1228.92,-486.64 1353.89,-636.176 1399.59,-690.856"/>
<polygon fill="#000000" stroke="#000000" points="1397.12,-693.358 1406.22,-698.787 1402.49,-688.869 1397.12,-693.358"/>
</g>
<!-- sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~xh5for_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge9" class="edge"><title>sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~xh5for_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1182.5,-711.089C1248.45,-722.811 1273.38,-697.679 1332,-730.089 1383.82,-758.74 1374.16,-874.485 1416.5,-833.089"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1418.5,-833.089C1457.19,-795.26 1504.54,-753.438 1531.64,-729.9"/>
<polygon fill="#000000" stroke="#000000" points="1534.1,-732.399 1539.37,-723.207 1529.52,-727.107 1534.1,-732.399"/>
</g>
<!-- sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge6" class="edge"><title>sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M930.512,-688.32C951.628,-692.237 974.587,-697.668 995,-705.089 1012.2,-711.342 1013.74,-718.991 1031,-725.089 1044.42,-729.831 1058.84,-733.729 1073.23,-736.929"/>
<polygon fill="#000000" stroke="#000000" points="1072.67,-740.388 1083.18,-739.035 1074.12,-733.54 1072.67,-740.388"/>
</g>
<!-- sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge7" class="edge"><title>sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~unstructured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M893.042,-667.088C921.461,-655.934 962.837,-637.665 995,-615.089 1065.81,-565.388 1134.06,-487.623 1164.27,-451.19"/>
<polygon fill="#000000" stroke="#000000" points="1167.14,-453.209 1170.79,-443.26 1161.74,-448.766 1167.14,-453.209"/>
</g>
<!-- sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge8" class="edge"><title>sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~unstructured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M930.732,-670.261C972.811,-665.009 1027.01,-658.245 1074.17,-652.36"/>
<polygon fill="#000000" stroke="#000000" points="1074.63,-655.83 1084.12,-651.118 1073.76,-648.883 1074.63,-655.83"/>
</g>
<!-- sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge10" class="edge"><title>sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M890.557,-691.135C918.639,-702.765 960.946,-721.719 995,-743.089 1012.4,-754.009 1012.15,-763.921 1031,-772.089 1040.11,-776.035 1049.79,-779.273 1059.69,-781.927"/>
<polygon fill="#000000" stroke="#000000" points="1059.09,-785.384 1069.64,-784.39 1060.77,-778.589 1059.09,-785.384"/>
</g>
<!-- sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge11" class="edge"><title>sourcefile~xh5for_abstract_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M930.765,-683.039C995.992,-687.416 1095.3,-695.944 1180.5,-711.089"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1182.5,-711.089C1241.38,-721.554 1309.91,-719.985 1357.53,-716.76"/>
<polygon fill="#000000" stroke="#000000" points="1357.94,-720.239 1367.66,-716.027 1357.44,-713.258 1357.94,-720.239"/>
</g>
<!-- sourcefile~unstructured_dataset_per_process_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge12" class="edge"><title>sourcefile~unstructured_dataset_per_process_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1221.67,-651.14C1261.74,-663.47 1324.11,-682.66 1367.44,-695.995"/>
<polygon fill="#000000" stroke="#000000" points="1366.62,-699.403 1377.21,-698.998 1368.68,-692.712 1366.62,-699.403"/>
</g>
<!-- sourcefile~structured_dataset_per_process_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge13" class="edge"><title>sourcefile~structured_dataset_per_process_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1293.1,-783.766C1306.47,-780.835 1319.72,-777.028 1332,-772.089 1356.3,-762.315 1380.14,-744.088 1396.27,-730.095"/>
<polygon fill="#000000" stroke="#000000" points="1398.83,-732.499 1403.96,-723.23 1394.17,-727.277 1398.83,-732.499"/>
</g>
<!-- sourcefile~xh5for_factory.f90&#45;&gt;sourcefile~xh5for_handler.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge3" class="edge"><title>sourcefile~xh5for_factory.f90&#45;&gt;sourcefile~xh5for_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1467.24,-711.089C1475.4,-711.089 1483.96,-711.089 1492.38,-711.089"/>
<polygon fill="#000000" stroke="#000000" points="1492.56,-714.589 1502.56,-711.089 1492.56,-707.589 1492.56,-714.589"/>
</g>
<!-- sourcefile~xh5for_dpp_unstructured_tetrahedron.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node42" class="node"><title>sourcefile~xh5for_dpp_unstructured_tetrahedron.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node42"><a xlink:href="../sourcefile/xh5for_dpp_unstructured_tetrahedron.f90.html" xlink:title="xh5for_dpp_unstructured_tetrahedron.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1978.5,-1290.09 1766.5,-1290.09 1766.5,-1266.09 1978.5,-1266.09 1978.5,-1290.09"/>
<text text-anchor="middle" x="1872.5" y="-1275.69" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_unstructured_tetrahedron.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_tetrahedron.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge42" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_tetrahedron.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1674.11,-723.534C1678,-801.186 1700.59,-1217.2 1739,-1257.09 1744.28,-1262.57 1750.36,-1266.99 1756.96,-1270.54"/>
<polygon fill="#000000" stroke="#000000" points="1755.72,-1273.82 1766.26,-1274.85 1758.66,-1267.47 1755.72,-1273.82"/>
</g>
<!-- sourcefile~xh5for_dpp_unstructured_hexahedron.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node43" class="node"><title>sourcefile~xh5for_dpp_unstructured_hexahedron.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node43"><a xlink:href="../sourcefile/xh5for_dpp_unstructured_hexahedron.f90.html" xlink:title="xh5for_dpp_unstructured_hexahedron.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1979.5,-1248.09 1765.5,-1248.09 1765.5,-1224.09 1979.5,-1224.09 1979.5,-1248.09"/>
<text text-anchor="middle" x="1872.5" y="-1233.69" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_unstructured_hexahedron.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_hexahedron.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge43" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_hexahedron.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1673.2,-723.378C1671.76,-793.488 1668.26,-1142.34 1739,-1215.09 1744.02,-1220.25 1749.76,-1224.47 1755.97,-1227.9"/>
<polygon fill="#000000" stroke="#000000" points="1754.84,-1231.24 1765.38,-1232.38 1757.85,-1224.92 1754.84,-1231.24"/>
</g>
<!-- sourcefile~xh5for_dpp_unstructured_non_static_tetrahedron.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node44" class="node"><title>sourcefile~xh5for_dpp_unstructured_non_static_tetrahedron.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node44"><a xlink:href="../sourcefile/xh5for_dpp_unstructured_non_static_tetrahedron.f90.html" xlink:title="xh5for_dpp_unstructured_non_static_tetrahedron.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="2006,-1206.09 1739,-1206.09 1739,-1182.09 2006,-1182.09 2006,-1206.09"/>
<text text-anchor="middle" x="1872.5" y="-1191.69" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_unstructured_non_static_tetrahedron.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_non_static_tetrahedron.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge44" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_non_static_tetrahedron.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1673.36,-723.215C1672.87,-789.455 1673.95,-1106.97 1739,-1173.09 1739.82,-1173.92 1740.65,-1174.72 1741.5,-1175.51"/>
<polygon fill="#000000" stroke="#000000" points="1739.61,-1178.47 1749.63,-1181.92 1743.95,-1172.98 1739.61,-1178.47"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_static_mixed_series.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node45" class="node"><title>sourcefile~xh5for_ch_unstructured_static_mixed_series.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node45"><a xlink:href="../sourcefile/xh5for_ch_unstructured_static_mixed_series.f90.html" xlink:title="xh5for_ch_unstructured_static_mixed_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1994.5,-1164.09 1750.5,-1164.09 1750.5,-1140.09 1994.5,-1140.09 1994.5,-1164.09"/>
<text text-anchor="middle" x="1872.5" y="-1149.69" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_static_mixed_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_static_mixed_series.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge45" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_static_mixed_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1673.55,-723.336C1674.07,-786.166 1679.72,-1071.66 1739,-1131.09 1739.97,-1132.06 1740.97,-1133 1741.99,-1133.91"/>
<polygon fill="#000000" stroke="#000000" points="1740.19,-1136.94 1750.26,-1140.24 1744.45,-1131.38 1740.19,-1136.94"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_non_static_tetrahedron.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node46" class="node"><title>sourcefile~xh5for_ch_unstructured_non_static_tetrahedron.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node46"><a xlink:href="../sourcefile/xh5for_ch_unstructured_non_static_tetrahedron.f90.html" xlink:title="xh5for_ch_unstructured_non_static_tetrahedron.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="2002.5,-1122.09 1742.5,-1122.09 1742.5,-1098.09 2002.5,-1098.09 2002.5,-1122.09"/>
<text text-anchor="middle" x="1872.5" y="-1107.69" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_non_static_tetrahedron.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_non_static_tetrahedron.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge46" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_non_static_tetrahedron.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1673.78,-723.269C1675.39,-782.109 1685.4,-1036.26 1739,-1089.09 1739.96,-1090.03 1740.94,-1090.94 1741.94,-1091.82"/>
<polygon fill="#000000" stroke="#000000" points="1739.97,-1094.72 1750.05,-1097.98 1744.2,-1089.14 1739.97,-1094.72"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_quadilateral.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node47" class="node"><title>sourcefile~xh5for_ch_unstructured_quadilateral.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node47"><a xlink:href="../sourcefile/xh5for_ch_unstructured_quadilateral.f90.html" xlink:title="xh5for_ch_unstructured_quadilateral.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1975,-1080.09 1770,-1080.09 1770,-1056.09 1975,-1056.09 1975,-1080.09"/>
<text text-anchor="middle" x="1872.5" y="-1065.69" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_quadilateral.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_quadilateral.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge47" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_quadilateral.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1674.07,-723.359C1676.88,-778.282 1691.11,-1000.86 1739,-1047.09 1745.26,-1053.13 1752.52,-1057.86 1760.35,-1061.53"/>
<polygon fill="#000000" stroke="#000000" points="1759.2,-1064.84 1769.78,-1065.36 1761.83,-1058.35 1759.2,-1064.84"/>
</g>
<!-- sourcefile~xh5for_dpp_regular_non_static_grid_series.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node48" class="node"><title>sourcefile~xh5for_dpp_regular_non_static_grid_series.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node48"><a xlink:href="../sourcefile/xh5for_dpp_regular_non_static_grid_series.f90.html" xlink:title="xh5for_dpp_regular_non_static_grid_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1991.5,-1038.09 1753.5,-1038.09 1753.5,-1014.09 1991.5,-1014.09 1991.5,-1038.09"/>
<text text-anchor="middle" x="1872.5" y="-1023.69" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_regular_non_static_grid_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_regular_non_static_grid_series.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge48" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_regular_non_static_grid_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1674.42,-723.165C1678.51,-773.437 1696.7,-965.337 1739,-1005.09 1740.76,-1006.74 1742.59,-1008.29 1744.49,-1009.75"/>
<polygon fill="#000000" stroke="#000000" points="1742.95,-1012.93 1753.21,-1015.56 1746.83,-1007.11 1742.95,-1012.93"/>
</g>
<!-- sourcefile~xh5for_ch_regular_grid.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node49" class="node"><title>sourcefile~xh5for_ch_regular_grid.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node49"><a xlink:href="../sourcefile/xh5for_ch_regular_grid.f90.html" xlink:title="xh5for_ch_regular_grid.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1943.5,-996.089 1801.5,-996.089 1801.5,-972.089 1943.5,-972.089 1943.5,-996.089"/>
<text text-anchor="middle" x="1872.5" y="-981.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_regular_grid.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_regular_grid.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge49" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_regular_grid.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1674.91,-723.275C1680.47,-769.054 1702.34,-929.828 1739,-963.089 1753.32,-976.083 1772.29,-982.857 1791.39,-986.079"/>
<polygon fill="#000000" stroke="#000000" points="1790.97,-989.556 1801.36,-987.455 1791.93,-982.621 1790.97,-989.556"/>
</g>
<!-- sourcefile~xh5for_ch_rectilinear_non_static_grid_series.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node50" class="node"><title>sourcefile~xh5for_ch_rectilinear_non_static_grid_series.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node50"><a xlink:href="../sourcefile/xh5for_ch_rectilinear_non_static_grid_series.f90.html" xlink:title="xh5for_ch_rectilinear_non_static_grid_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1994.5,-954.089 1750.5,-954.089 1750.5,-930.089 1994.5,-930.089 1994.5,-954.089"/>
<text text-anchor="middle" x="1872.5" y="-939.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_rectilinear_non_static_grid_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_rectilinear_non_static_grid_series.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge50" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_rectilinear_non_static_grid_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1673.21,-723.131C1673.05,-759.387 1677.89,-868.266 1739,-921.089 1740.33,-922.241 1741.7,-923.343 1743.1,-924.397"/>
<polygon fill="#000000" stroke="#000000" points="1741.21,-927.34 1751.48,-929.926 1745.07,-921.497 1741.21,-927.34"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_triangles.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node51" class="node"><title>sourcefile~xh5for_ch_unstructured_triangles.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node51"><a xlink:href="../sourcefile/xh5for_ch_unstructured_triangles.f90.html" xlink:title="xh5for_ch_unstructured_triangles.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1967.5,-912.089 1777.5,-912.089 1777.5,-888.089 1967.5,-888.089 1967.5,-912.089"/>
<text text-anchor="middle" x="1872.5" y="-897.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_triangles.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_triangles.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge51" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_triangles.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1674.27,-723.182C1676.97,-754.502 1688.78,-838.634 1739,-879.089 1747.47,-885.912 1757.26,-890.945 1767.61,-894.614"/>
<polygon fill="#000000" stroke="#000000" points="1766.65,-897.983 1777.24,-897.611 1768.73,-891.299 1766.65,-897.983"/>
</g>
<!-- sourcefile~xh5for_ch_regular_non_static_grid_series.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node52" class="node"><title>sourcefile~xh5for_ch_regular_non_static_grid_series.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node52"><a xlink:href="../sourcefile/xh5for_ch_regular_non_static_grid_series.f90.html" xlink:title="xh5for_ch_regular_non_static_grid_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1988,-870.089 1757,-870.089 1757,-846.089 1988,-846.089 1988,-870.089"/>
<text text-anchor="middle" x="1872.5" y="-855.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_regular_non_static_grid_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_regular_non_static_grid_series.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge52" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_regular_non_static_grid_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1675.96,-723.167C1681.87,-748.786 1699.39,-808.555 1739,-837.089 1741.87,-839.16 1744.88,-841.058 1747.98,-842.798"/>
<polygon fill="#000000" stroke="#000000" points="1746.46,-845.951 1756.96,-847.293 1749.59,-839.69 1746.46,-845.951"/>
</g>
<!-- sourcefile~xh5for_ch_regular_static_grid_series.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node53" class="node"><title>sourcefile~xh5for_ch_regular_static_grid_series.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node53"><a xlink:href="../sourcefile/xh5for_ch_regular_static_grid_series.f90.html" xlink:title="xh5for_ch_regular_static_grid_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1976,-828.089 1769,-828.089 1769,-804.089 1976,-804.089 1976,-828.089"/>
<text text-anchor="middle" x="1872.5" y="-813.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_regular_static_grid_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_regular_static_grid_series.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge53" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_regular_static_grid_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1679.17,-723.183C1688.68,-741.971 1709.69,-777.803 1739,-795.089 1745.34,-798.83 1752.14,-801.968 1759.19,-804.594"/>
<polygon fill="#000000" stroke="#000000" points="1758.33,-807.999 1768.93,-807.866 1760.56,-801.363 1758.33,-807.999"/>
</g>
<!-- sourcefile~xh5for_dpp_rectilinear_grid.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node54" class="node"><title>sourcefile~xh5for_dpp_rectilinear_grid.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node54"><a xlink:href="../sourcefile/xh5for_dpp_rectilinear_grid.f90.html" xlink:title="xh5for_dpp_rectilinear_grid.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1953,-786.089 1792,-786.089 1792,-762.089 1953,-762.089 1953,-786.089"/>
<text text-anchor="middle" x="1872.5" y="-771.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_rectilinear_grid.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_rectilinear_grid.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge54" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_rectilinear_grid.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1688.4,-723.215C1701.09,-732.876 1720.19,-745.929 1739,-753.089 1752.53,-758.238 1767.3,-762.125 1781.91,-765.059"/>
<polygon fill="#000000" stroke="#000000" points="1781.51,-768.545 1791.98,-766.942 1782.8,-761.664 1781.51,-768.545"/>
</g>
<!-- sourcefile~xh5for_dpp_rectilinear_static_grid_series.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node55" class="node"><title>sourcefile~xh5for_dpp_rectilinear_static_grid_series.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node55"><a xlink:href="../sourcefile/xh5for_dpp_rectilinear_static_grid_series.f90.html" xlink:title="xh5for_dpp_rectilinear_static_grid_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1985.5,-744.089 1759.5,-744.089 1759.5,-720.089 1985.5,-720.089 1985.5,-744.089"/>
<text text-anchor="middle" x="1872.5" y="-729.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_rectilinear_static_grid_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_rectilinear_static_grid_series.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge55" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_rectilinear_static_grid_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1703.14,-714.233C1716.04,-715.6 1732.09,-717.303 1749.12,-719.109"/>
<polygon fill="#000000" stroke="#000000" points="1748.93,-722.609 1759.24,-720.183 1749.67,-715.648 1748.93,-722.609"/>
</g>
<!-- sourcefile~xh5for_dpp_unstructured_mixedtopology.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node56" class="node"><title>sourcefile~xh5for_dpp_unstructured_mixedtopology.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node56"><a xlink:href="../sourcefile/xh5for_dpp_unstructured_mixedtopology.f90.html" xlink:title="xh5for_dpp_unstructured_mixedtopology.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1985.5,-702.089 1759.5,-702.089 1759.5,-678.089 1985.5,-678.089 1985.5,-702.089"/>
<text text-anchor="middle" x="1872.5" y="-687.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_unstructured_mixedtopology.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_mixedtopology.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge56" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_mixedtopology.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1703.14,-707.945C1716.04,-706.577 1732.09,-704.875 1749.12,-703.068"/>
<polygon fill="#000000" stroke="#000000" points="1749.67,-706.53 1759.24,-701.995 1748.93,-699.569 1749.67,-706.53"/>
</g>
<!-- sourcefile~xh5for_dpp_regular_grid.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node57" class="node"><title>sourcefile~xh5for_dpp_regular_grid.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node57"><a xlink:href="../sourcefile/xh5for_dpp_regular_grid.f90.html" xlink:title="xh5for_dpp_regular_grid.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1946.5,-660.089 1798.5,-660.089 1798.5,-636.089 1946.5,-636.089 1946.5,-660.089"/>
<text text-anchor="middle" x="1872.5" y="-645.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_regular_grid.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_regular_grid.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge57" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_regular_grid.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1688.4,-698.963C1701.09,-689.302 1720.19,-676.248 1739,-669.089 1754.41,-663.223 1771.43,-658.995 1788,-655.948"/>
<polygon fill="#000000" stroke="#000000" points="1788.97,-659.334 1798.23,-654.2 1787.79,-652.434 1788.97,-659.334"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_tetrahedron.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node58" class="node"><title>sourcefile~xh5for_ch_unstructured_tetrahedron.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node58"><a xlink:href="../sourcefile/xh5for_ch_unstructured_tetrahedron.f90.html" xlink:title="xh5for_ch_unstructured_tetrahedron.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1975,-618.089 1770,-618.089 1770,-594.089 1975,-594.089 1975,-618.089"/>
<text text-anchor="middle" x="1872.5" y="-603.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_tetrahedron.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_tetrahedron.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge58" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_tetrahedron.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1679.17,-698.995C1688.68,-680.206 1709.69,-644.374 1739,-627.089 1745.7,-623.137 1752.91,-619.859 1760.38,-617.147"/>
<polygon fill="#000000" stroke="#000000" points="1761.54,-620.447 1769.96,-614.004 1759.36,-613.795 1761.54,-620.447"/>
</g>
<!-- sourcefile~xh5for_dpp_unstructured_triangles.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node59" class="node"><title>sourcefile~xh5for_dpp_unstructured_triangles.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node59"><a xlink:href="../sourcefile/xh5for_dpp_unstructured_triangles.f90.html" xlink:title="xh5for_dpp_unstructured_triangles.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1971,-576.089 1774,-576.089 1774,-552.089 1971,-552.089 1971,-576.089"/>
<text text-anchor="middle" x="1872.5" y="-561.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_unstructured_triangles.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_triangles.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge59" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_triangles.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1675.96,-699.01C1681.87,-673.392 1699.39,-613.622 1739,-585.089 1746.71,-579.531 1755.34,-575.213 1764.38,-571.878"/>
<polygon fill="#000000" stroke="#000000" points="1765.53,-575.187 1773.94,-568.75 1763.35,-568.534 1765.53,-575.187"/>
</g>
<!-- sourcefile~xh5for_dpp_regular_static_grid_series.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node60" class="node"><title>sourcefile~xh5for_dpp_regular_static_grid_series.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node60"><a xlink:href="../sourcefile/xh5for_dpp_regular_static_grid_series.f90.html" xlink:title="xh5for_dpp_regular_static_grid_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1979.5,-534.089 1765.5,-534.089 1765.5,-510.089 1979.5,-510.089 1979.5,-534.089"/>
<text text-anchor="middle" x="1872.5" y="-519.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_regular_static_grid_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_regular_static_grid_series.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge60" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_regular_static_grid_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1674.27,-698.996C1676.97,-667.675 1688.78,-583.544 1739,-543.089 1744.3,-538.818 1750.12,-535.25 1756.27,-532.278"/>
<polygon fill="#000000" stroke="#000000" points="1757.67,-535.486 1765.49,-528.338 1754.92,-529.049 1757.67,-535.486"/>
</g>
<!-- sourcefile~xh5for_dpp_unstructured_static_tetrahedron.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node61" class="node"><title>sourcefile~xh5for_dpp_unstructured_static_tetrahedron.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node61"><a xlink:href="../sourcefile/xh5for_dpp_unstructured_static_tetrahedron.f90.html" xlink:title="xh5for_dpp_unstructured_static_tetrahedron.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1994,-492.089 1751,-492.089 1751,-468.089 1994,-468.089 1994,-492.089"/>
<text text-anchor="middle" x="1872.5" y="-477.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_unstructured_static_tetrahedron.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_static_tetrahedron.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge61" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_static_tetrahedron.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1673.21,-699.047C1673.05,-662.791 1677.89,-553.912 1739,-501.089 1740.33,-499.937 1741.7,-498.835 1743.1,-497.78"/>
<polygon fill="#000000" stroke="#000000" points="1745.07,-500.68 1751.48,-492.251 1741.21,-494.838 1745.07,-500.68"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_hexahedron_perf.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node62" class="node"><title>sourcefile~xh5for_ch_unstructured_hexahedron_perf.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node62"><a xlink:href="../sourcefile/xh5for_ch_unstructured_hexahedron_perf.f90.html" xlink:title="xh5for_ch_unstructured_hexahedron_perf.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1988.5,-450.089 1756.5,-450.089 1756.5,-426.089 1988.5,-426.089 1988.5,-450.089"/>
<text text-anchor="middle" x="1872.5" y="-435.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_hexahedron_perf.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_hexahedron_perf.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge62" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_hexahedron_perf.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1674.91,-698.902C1680.47,-653.123 1702.34,-492.349 1739,-459.089 1741.71,-456.627 1744.59,-454.389 1747.61,-452.356"/>
<polygon fill="#000000" stroke="#000000" points="1749.6,-455.245 1756.44,-447.154 1746.05,-449.213 1749.6,-455.245"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_static_tetrahedron.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node63" class="node"><title>sourcefile~xh5for_ch_unstructured_static_tetrahedron.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node63"><a xlink:href="../sourcefile/xh5for_ch_unstructured_static_tetrahedron.f90.html" xlink:title="xh5for_ch_unstructured_static_tetrahedron.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1990.5,-408.089 1754.5,-408.089 1754.5,-384.089 1990.5,-384.089 1990.5,-408.089"/>
<text text-anchor="middle" x="1872.5" y="-393.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_static_tetrahedron.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_static_tetrahedron.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge63" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_static_tetrahedron.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1674.42,-699.012C1678.51,-648.74 1696.7,-456.841 1739,-417.089 1741.19,-415.033 1743.49,-413.13 1745.89,-411.372"/>
<polygon fill="#000000" stroke="#000000" points="1747.87,-414.262 1754.41,-405.93 1744.1,-408.363 1747.87,-414.262"/>
</g>
<!-- sourcefile~xh5for_dpp_rectilinear_non_static_grid_series.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node64" class="node"><title>sourcefile~xh5for_dpp_rectilinear_non_static_grid_series.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node64"><a xlink:href="../sourcefile/xh5for_dpp_rectilinear_non_static_grid_series.f90.html" xlink:title="xh5for_dpp_rectilinear_non_static_grid_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1997.5,-366.089 1747.5,-366.089 1747.5,-342.089 1997.5,-342.089 1997.5,-366.089"/>
<text text-anchor="middle" x="1872.5" y="-351.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_rectilinear_non_static_grid_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_rectilinear_non_static_grid_series.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge64" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_rectilinear_non_static_grid_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1674.07,-698.818C1676.88,-643.896 1691.11,-421.317 1739,-375.089 1739.99,-374.133 1741,-373.211 1742.04,-372.32"/>
<polygon fill="#000000" stroke="#000000" points="1744.48,-374.87 1750.42,-366.101 1740.31,-369.249 1744.48,-374.87"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_mixedtopology.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node65" class="node"><title>sourcefile~xh5for_ch_unstructured_mixedtopology.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node65"><a xlink:href="../sourcefile/xh5for_ch_unstructured_mixedtopology.f90.html" xlink:title="xh5for_ch_unstructured_mixedtopology.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1982,-324.089 1763,-324.089 1763,-300.089 1982,-300.089 1982,-324.089"/>
<text text-anchor="middle" x="1872.5" y="-309.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_mixedtopology.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_mixedtopology.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge65" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_mixedtopology.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1673.78,-698.909C1675.39,-640.069 1685.4,-385.922 1739,-333.089 1743.41,-328.742 1748.33,-325.071 1753.61,-321.984"/>
<polygon fill="#000000" stroke="#000000" points="1755.48,-324.964 1762.82,-317.321 1752.31,-318.72 1755.48,-324.964"/>
</g>
<!-- sourcefile~xh5for_ch_rectilinear_static_grid_series.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node66" class="node"><title>sourcefile~xh5for_ch_rectilinear_static_grid_series.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node66"><a xlink:href="../sourcefile/xh5for_ch_rectilinear_static_grid_series.f90.html" xlink:title="xh5for_ch_rectilinear_static_grid_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1982.5,-282.089 1762.5,-282.089 1762.5,-258.089 1982.5,-258.089 1982.5,-282.089"/>
<text text-anchor="middle" x="1872.5" y="-267.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_rectilinear_static_grid_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_rectilinear_static_grid_series.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge66" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_rectilinear_static_grid_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1673.55,-698.841C1674.07,-636.011 1679.72,-350.52 1739,-291.089 1743.32,-286.758 1748.15,-283.094 1753.34,-280.007"/>
<polygon fill="#000000" stroke="#000000" points="1755.1,-283.037 1762.38,-275.34 1751.89,-276.817 1755.1,-283.037"/>
</g>
<!-- sourcefile~xh5for_dpp_unstructured_quadilateral.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node67" class="node"><title>sourcefile~xh5for_dpp_unstructured_quadilateral.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node67"><a xlink:href="../sourcefile/xh5for_dpp_unstructured_quadilateral.f90.html" xlink:title="xh5for_dpp_unstructured_quadilateral.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1978.5,-240.089 1766.5,-240.089 1766.5,-216.089 1978.5,-216.089 1978.5,-240.089"/>
<text text-anchor="middle" x="1872.5" y="-225.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_unstructured_quadilateral.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_quadilateral.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge67" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_quadilateral.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1673.36,-698.962C1672.87,-632.723 1673.95,-315.212 1739,-249.089 1744.33,-243.667 1750.46,-239.286 1757.1,-235.77"/>
<polygon fill="#000000" stroke="#000000" points="1758.8,-238.841 1766.43,-231.494 1755.88,-232.477 1758.8,-238.841"/>
</g>
<!-- sourcefile~xh5for_ch_rectilinear_grid.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node68" class="node"><title>sourcefile~xh5for_ch_rectilinear_grid.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node68"><a xlink:href="../sourcefile/xh5for_ch_rectilinear_grid.f90.html" xlink:title="xh5for_ch_rectilinear_grid.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1949.5,-198.089 1795.5,-198.089 1795.5,-174.089 1949.5,-174.089 1949.5,-198.089"/>
<text text-anchor="middle" x="1872.5" y="-183.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_rectilinear_grid.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_rectilinear_grid.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge68" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_rectilinear_grid.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1673.2,-698.8C1671.76,-628.689 1668.26,-279.835 1739,-207.089 1751.28,-194.457 1767.88,-187.457 1785.16,-183.863"/>
<polygon fill="#000000" stroke="#000000" points="1786.12,-187.251 1795.39,-182.124 1784.95,-180.35 1786.12,-187.251"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_hexahedron.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_node69" class="node"><title>sourcefile~xh5for_ch_unstructured_hexahedron.f90</title>
<g id="a_sourcefile~~mpi_environment.f90~~AfferentGraph_node69"><a xlink:href="../sourcefile/xh5for_ch_unstructured_hexahedron.f90.html" xlink:title="xh5for_ch_unstructured_hexahedron.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1976,-156.089 1769,-156.089 1769,-132.089 1976,-132.089 1976,-156.089"/>
<text text-anchor="middle" x="1872.5" y="-141.689" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_hexahedron.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_hexahedron.f90 -->
<g id="sourcefile~~mpi_environment.f90~~AfferentGraph_edge69" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_hexahedron.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M1674.11,-698.644C1678,-620.991 1700.59,-204.976 1739,-165.089 1744.98,-158.879 1752,-154.025 1759.64,-150.266"/>
<polygon fill="#000000" stroke="#000000" points="1761.03,-153.478 1768.86,-146.34 1758.28,-147.038 1761.03,-153.478"/>
</g>
</g>
</svg>
</div>
                <script>var pansourcefilempi_environmentf90AfferentGraph = svgPanZoom('#sourcefilempi_environmentf90AfferentGraph', {
                    zoomEnabled: true,
                    controlIconsEnabled: true,
                    fit: true,
                    center: true,});
                    </script>
                <div><a type="button" class="graph-help" data-toggle="modal" href="#graph-help-text">Help</a></div>
                <div class="modal fade" id="graph-help-text" tabindex="-1" role="dialog">
                  <div class="modal-dialog modal-lg" role="document">
                    <div class="modal-content">
                      <div class="modal-header">
                        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                        <h4 class="modal-title" id="-graph-help-label">Graph Key</h4>
                      </div>
                      <div class="modal-body">
                        
    <p>Nodes of different colours represent the following: </p>
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
 -->
<!-- Title: Graph Key Pages: 1 -->
<svg width="190pt" height="32pt"
 viewBox="0.00 0.00 190.00 32.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 28)">
<title>Graph Key</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-28 186,-28 186,4 -4,4"/>
<!-- Source File -->
<g id="node1" class="node"><title>Source File</title>
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="67,-24 0,-24 0,-0 67,-0 67,-24"/>
<text text-anchor="middle" x="33.5" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">Source File</text>
</g>
<!-- This Page&#39;s Entity -->
<g id="node2" class="node"><title>This Page&#39;s Entity</title>
<polygon fill="none" stroke="black" points="182,-24 85,-24 85,-0 182,-0 182,-24"/>
<text text-anchor="middle" x="133.5" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50">This Page&#39;s Entity</text>
</g>
</g>
</svg>

    
    <p>Solid arrows point from a file to a file which depends upon it. A file 
    is dependent upon another if the latter must be compiled before the former
    can be.
    </p>
    
                      </div>
                    </div>
                  </div>
                </div>
                
      
      <br>

    <section class="visible-xs visible-sm hidden-md">
      






<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#mods-1">Modules</a></h3></div>
  <div id="mods-1" class="panel-collapse collapse">
    <div class="list-group">
      
      <a class="list-group-item" href="../module/mpi_environment.html">mpi_environment</a>
      
    </div>
  </div>
</div>















<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title">Source Code</h3></div>
  <div class="list-group">
    <a class="list-group-item" href="../sourcefile/mpi_environment.f90.html#src">mpi_environment.f90</a>
  </div>
</div>


    </section>
    <br class="visible-xs visible-sm hidden-md">

    <section>
      <h2><span class="anchor" id="src"></span>Source Code</h2>
    <div class="hl"><pre><a name="ln-1"></a><span class="k">module </span><span class="n">mpi_environment</span>
<a name="ln-2"></a><span class="c">!--------------------------------------------------------------------- -----------------------------------------------------------</span>
<a name="ln-3"></a><span class="c">!&lt; XdmfHdf5Fortran: XDMF parallel partitioned mesh I/O on top of HDF5</span>
<a name="ln-4"></a><span class="c">!&lt; MPI interface module </span>
<a name="ln-5"></a><span class="c">!--------------------------------------------------------------------- -----------------------------------------------------------</span>
<a name="ln-6"></a>
<a name="ln-7"></a><span class="k">use </span><span class="n">PENF</span><span class="p">,</span> <span class="n">only</span> <span class="p">:</span> <span class="n">I4P</span><span class="p">,</span> <span class="n">I8P</span><span class="p">,</span> <span class="n">R4P</span><span class="p">,</span> <span class="n">R8P</span>
<a name="ln-8"></a><span class="k">use </span><span class="n">XH5For_utils</span>
<a name="ln-9"></a>
<a name="ln-10"></a><span class="cp">#ifdef ENABLE_MPI</span>
<a name="ln-11"></a><span class="cp">#ifdef MPI_MOD</span>
<a name="ln-12"></a>    <span class="k">use </span><span class="n">mpi</span>
<a name="ln-13"></a><span class="cp">#endif</span>
<a name="ln-14"></a><span class="k">implicit none</span> 
<a name="ln-15"></a><span class="cp">#ifdef MPI_H</span>
<a name="ln-16"></a>    <span class="k">include</span> <span class="s1">&#39;mpif.h&#39;</span>
<a name="ln-17"></a><span class="cp">#endif</span>
<a name="ln-18"></a><span class="cp">#else</span>
<a name="ln-19"></a><span class="k">implicit none</span> 
<a name="ln-20"></a><span class="cp">#endif</span>
<a name="ln-21"></a>
<a name="ln-22"></a><span class="cp">#include &quot;assert.i90&quot;</span>
<a name="ln-23"></a>
<a name="ln-24"></a><span class="k">private</span>
<a name="ln-25"></a>
<a name="ln-26"></a><span class="k">    </span><span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">private</span><span class="p">,</span> <span class="k">parameter</span> <span class="kd">::</span> <span class="n">MPI_ENV_STATE_START</span> <span class="o">=</span> <span class="mi">0</span>
<a name="ln-27"></a>    <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">private</span><span class="p">,</span> <span class="k">parameter</span> <span class="kd">::</span> <span class="n">MPI_ENV_STATE_INIT</span>  <span class="o">=</span> <span class="mi">1</span>
<a name="ln-28"></a>
<a name="ln-29"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-30"></a>    <span class="c">! XH5FOR State Transition Diagram</span>
<a name="ln-31"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-32"></a>    <span class="c">! - This diagram controls the basic life cycle of the XH5For library</span>
<a name="ln-33"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-34"></a>    <span class="c">!       INIT STATE      |     ACTION      |      FINAL STATE</span>
<a name="ln-35"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-36"></a>    <span class="c">! START                 | Free            | START</span>
<a name="ln-37"></a>    <span class="c">! START                 | Initialize      | INIT</span>
<a name="ln-38"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-39"></a>    <span class="c">! INIT                  | Free            | START</span>
<a name="ln-40"></a>
<a name="ln-41"></a>    <span class="k">type </span><span class="n">mpi_env_t</span>
<a name="ln-42"></a>    <span class="k">private</span>
<a name="ln-43"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-44"></a>    <span class="c">!&lt; MPI environment type</span>
<a name="ln-45"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-46"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span> <span class="kd">::</span> <span class="n">comm</span>  <span class="o">=</span> <span class="mi">0</span>                    <span class="c">!&lt; MPI communicator</span>
<a name="ln-47"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span> <span class="kd">::</span> <span class="n">root</span>  <span class="o">=</span> <span class="mi">0</span>                    <span class="c">!&lt; MPI root processor</span>
<a name="ln-48"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span> <span class="kd">::</span> <span class="n">rank</span>  <span class="o">=</span> <span class="mi">0</span>                    <span class="c">!&lt; MPI rank</span>
<a name="ln-49"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span> <span class="kd">::</span> <span class="n">info</span>  <span class="o">=</span> <span class="mi">0</span>                    <span class="c">!&lt; MPI info</span>
<a name="ln-50"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span> <span class="kd">::</span> <span class="n">size</span>  <span class="o">=</span> <span class="mi">1</span>                    <span class="c">!&lt; MPI communicator size</span>
<a name="ln-51"></a>        <span class="kt">logical</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span> <span class="kd">::</span> <span class="n">parallel</span> <span class="o">=</span> <span class="p">.</span><span class="n">false</span><span class="p">.</span>           <span class="c">!&lt; Flag to check if MPI was initialized</span>
<a name="ln-52"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span> <span class="kd">::</span> <span class="n">State</span> <span class="o">=</span> <span class="n">MPI_ENV_STATE_START</span>  <span class="c">!&lt; MPI communicator size</span>
<a name="ln-53"></a>    <span class="k">contains</span>
<a name="ln-54"></a><span class="k">    private</span>
<a name="ln-55"></a><span class="k">        procedure</span>         <span class="kd">::</span> <span class="n">mpi_env_allgather_single_int_value_I4P</span>
<a name="ln-56"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">mpi_env_allgather_single_int_value_I8P</span>
<a name="ln-57"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">mpi_env_broadcast_int_I4P</span>
<a name="ln-58"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">mpi_env_broadcast_int_I8P</span>
<a name="ln-59"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">mpi_env_broadcast_int_I4P_array</span>
<a name="ln-60"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">mpi_env_broadcast_int_I8P_array</span>
<a name="ln-61"></a>        <span class="k">procedure</span>         <span class="kd">::</span> <span class="n">mpi_env_broadcast_string</span>
<a name="ln-62"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">Initialize</span>                   <span class="o">=&gt;</span> <span class="n">mpi_env_Initialize</span>
<a name="ln-63"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">Free</span>                         <span class="o">=&gt;</span> <span class="n">mpi_env_Free</span>
<a name="ln-64"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">get_comm</span>                     <span class="o">=&gt;</span> <span class="n">mpi_env_get_comm</span>
<a name="ln-65"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">get_root</span>                     <span class="o">=&gt;</span> <span class="n">mpi_env_get_root</span>
<a name="ln-66"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">get_rank</span>                     <span class="o">=&gt;</span> <span class="n">mpi_env_get_rank</span>
<a name="ln-67"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">get_info</span>                     <span class="o">=&gt;</span> <span class="n">mpi_env_get_info</span>
<a name="ln-68"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">get_comm_size</span>                <span class="o">=&gt;</span> <span class="n">mpi_env_get_comm_size</span>
<a name="ln-69"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">is_root</span>                      <span class="o">=&gt;</span> <span class="n">mpi_env_is_root</span>
<a name="ln-70"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">is_parallel</span>                  <span class="o">=&gt;</span> <span class="n">mpi_env_is_parallel</span>
<a name="ln-71"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">mpi_wtime</span>                    <span class="o">=&gt;</span> <span class="n">mpi_env_wtime</span>
<a name="ln-72"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">barrier</span>                      <span class="o">=&gt;</span> <span class="n">mpi_env_barrier</span>
<a name="ln-73"></a>        <span class="k">generic</span><span class="p">,</span>   <span class="k">public</span> <span class="kd">::</span> <span class="n">mpi_allgather</span>                <span class="o">=&gt;</span> <span class="n">mpi_env_allgather_single_int_value_I4P</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-74"></a>                                                             <span class="n">mpi_env_allgather_single_int_value_I8P</span>
<a name="ln-75"></a>        <span class="k">generic</span><span class="p">,</span>   <span class="k">public</span> <span class="kd">::</span> <span class="n">mpi_broadcast</span>                <span class="o">=&gt;</span> <span class="n">mpi_env_broadcast_int_I4P</span><span class="p">,</span>       <span class="p">&amp;</span>
<a name="ln-76"></a>                                                             <span class="n">mpi_env_broadcast_int_I8P</span><span class="p">,</span>       <span class="p">&amp;</span>
<a name="ln-77"></a>                                                             <span class="n">mpi_env_broadcast_int_I4P_array</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-78"></a>                                                             <span class="n">mpi_env_broadcast_int_I8P_array</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-79"></a>                                                             <span class="n">mpi_env_broadcast_string</span>
<a name="ln-80"></a>    <span class="k">end type </span><span class="n">mpi_env_t</span>
<a name="ln-81"></a>
<a name="ln-82"></a><span class="k">public</span> <span class="kd">::</span> <span class="n">mpi_env_t</span>
<a name="ln-83"></a>
<a name="ln-84"></a><span class="k">contains</span>
<a name="ln-85"></a>
<a name="ln-86"></a><span class="k">    subroutine </span><span class="n">mpi_env_initialize</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">comm</span><span class="p">,</span> <span class="n">info</span><span class="p">,</span> <span class="n">root</span><span class="p">,</span> <span class="n">mpierror</span><span class="p">)</span>
<a name="ln-87"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-88"></a>    <span class="c">!&lt; Default MPI values initialization</span>
<a name="ln-89"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-90"></a>        <span class="k">class</span><span class="p">(</span><span class="n">mpi_env_t</span><span class="p">),</span>       <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>                 <span class="c">!&lt; MPI environment</span>
<a name="ln-91"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">comm</span>                 <span class="c">!&lt; MPI communicator</span>
<a name="ln-92"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">info</span>                 <span class="c">!&lt; MPI info</span>
<a name="ln-93"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">root</span>                 <span class="c">!&lt; MPI root processor</span>
<a name="ln-94"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span>   <span class="kd">::</span> <span class="n">mpierror</span>             <span class="c">!&lt; MPI error</span>
<a name="ln-95"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                          <span class="kd">::</span> <span class="n">mpierr</span>               <span class="c">!&lt; Aux variable for MPI error checking</span>
<a name="ln-96"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-97"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">MPI_ENV_STATE_START</span><span class="p">)</span>
<a name="ln-98"></a>        <span class="n">mpierr</span>    <span class="o">=</span> <span class="mi">0</span>
<a name="ln-99"></a>        <span class="n">this</span><span class="p">%</span><span class="n">comm</span> <span class="o">=</span> <span class="mi">0</span>
<a name="ln-100"></a>        <span class="n">this</span><span class="p">%</span><span class="n">root</span> <span class="o">=</span> <span class="mi">0</span>
<a name="ln-101"></a>        <span class="n">this</span><span class="p">%</span><span class="n">rank</span> <span class="o">=</span> <span class="mi">0</span>
<a name="ln-102"></a>        <span class="n">this</span><span class="p">%</span><span class="n">info</span> <span class="o">=</span> <span class="mi">0</span>
<a name="ln-103"></a>        <span class="n">this</span><span class="p">%</span><span class="n">size</span> <span class="o">=</span> <span class="mi">1</span>
<a name="ln-104"></a><span class="cp">#if defined(ENABLE_MPI) &amp;&amp; (defined(MPI_MOD) || defined(MPI_H))</span>
<a name="ln-105"></a>        <span class="k">call </span><span class="n">MPI_Initialized</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">parallel</span><span class="p">,</span> <span class="n">mpierr</span><span class="p">)</span>
<a name="ln-106"></a>        <span class="k">if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">parallel</span><span class="p">)</span> <span class="k">then</span>
<a name="ln-107"></a><span class="k">            if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">info</span><span class="p">))</span> <span class="k">then</span>
<a name="ln-108"></a><span class="k">                call </span><span class="n">MPI_INFO_DUP</span><span class="p">(</span> <span class="n">info</span><span class="p">,</span> <span class="n">this</span><span class="p">%</span><span class="n">info</span><span class="p">,</span> <span class="n">mpierr</span><span class="p">)</span>
<a name="ln-109"></a>            <span class="k">else</span>
<a name="ln-110"></a><span class="k">                </span><span class="n">this</span><span class="p">%</span><span class="n">info</span> <span class="o">=</span> <span class="n">MPI_INFO_NULL</span>
<a name="ln-111"></a>            <span class="n">endif</span>
<a name="ln-112"></a>            <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">comm</span><span class="p">))</span> <span class="k">then</span>
<a name="ln-113"></a><span class="k">                call </span><span class="n">MPI_COMM_DUP</span><span class="p">(</span><span class="n">comm</span><span class="p">,</span> <span class="n">this</span><span class="p">%</span><span class="n">comm</span><span class="p">,</span> <span class="n">mpierr</span><span class="p">)</span>
<a name="ln-114"></a>            <span class="k">else</span>
<a name="ln-115"></a><span class="k">                call </span><span class="n">MPI_COMM_DUP</span><span class="p">(</span><span class="n">MPI_COMM_WORLD</span><span class="p">,</span> <span class="n">this</span><span class="p">%</span><span class="n">comm</span><span class="p">,</span> <span class="n">mpierr</span><span class="p">)</span>
<a name="ln-116"></a>            <span class="n">endif</span>
<a name="ln-117"></a>            <span class="k">call </span><span class="n">MPI_COMM_RANK</span> <span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">comm</span><span class="p">,</span> <span class="n">this</span><span class="p">%</span><span class="n">rank</span><span class="p">,</span> <span class="n">mpierr</span><span class="p">)</span>
<a name="ln-118"></a>            <span class="k">call </span><span class="n">MPI_COMM_SIZE</span> <span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">comm</span><span class="p">,</span> <span class="n">this</span><span class="p">%</span><span class="n">size</span><span class="p">,</span> <span class="n">mpierr</span><span class="p">)</span>
<a name="ln-119"></a>            <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">root</span><span class="p">))</span> <span class="k">then</span>
<a name="ln-120"></a><span class="k">                </span><span class="n">this</span><span class="p">%</span><span class="n">root</span> <span class="o">=</span> <span class="n">root</span>
<a name="ln-121"></a>            <span class="k">else</span>
<a name="ln-122"></a><span class="k">                </span><span class="n">this</span><span class="p">%</span><span class="n">root</span> <span class="o">=</span> <span class="mi">0_I4P</span>
<a name="ln-123"></a>            <span class="n">endif</span>
<a name="ln-124"></a>        <span class="n">endif</span>
<a name="ln-125"></a><span class="cp">#endif</span>
<a name="ln-126"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">mpierror</span><span class="p">))</span> <span class="n">mpierror</span> <span class="o">=</span> <span class="n">mpierr</span>
<a name="ln-127"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">MPI_ENV_STATE_INIT</span>
<a name="ln-128"></a>    <span class="k">end subroutine </span><span class="n">mpi_env_initialize</span>
<a name="ln-129"></a>
<a name="ln-130"></a>
<a name="ln-131"></a>    <span class="k">subroutine </span><span class="n">mpi_env_Free</span><span class="p">(</span><span class="n">this</span><span class="p">)</span>
<a name="ln-132"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-133"></a>    <span class="c">!&lt; Free MPI derived type</span>
<a name="ln-134"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-135"></a>        <span class="k">class</span><span class="p">(</span><span class="n">mpi_env_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>                       <span class="c">!&lt; MPI environment</span>
<a name="ln-136"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-137"></a>        <span class="c">! No allocatable variables. Default initialization</span>
<a name="ln-138"></a>        <span class="n">this</span><span class="p">%</span><span class="n">comm</span> <span class="o">=</span> <span class="mi">0_I4P</span>
<a name="ln-139"></a>        <span class="n">this</span><span class="p">%</span><span class="n">root</span> <span class="o">=</span> <span class="mi">0_I4P</span>
<a name="ln-140"></a>        <span class="n">this</span><span class="p">%</span><span class="n">rank</span> <span class="o">=</span> <span class="mi">0_I4P</span>
<a name="ln-141"></a>        <span class="n">this</span><span class="p">%</span><span class="n">info</span> <span class="o">=</span> <span class="mi">0_I4P</span>
<a name="ln-142"></a>        <span class="n">this</span><span class="p">%</span><span class="n">size</span> <span class="o">=</span> <span class="mi">1_I4P</span>
<a name="ln-143"></a>        <span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">=</span> <span class="n">MPI_ENV_STATE_START</span>
<a name="ln-144"></a>    <span class="k">end subroutine </span><span class="n">mpi_env_Free</span>
<a name="ln-145"></a>
<a name="ln-146"></a>    <span class="k">function </span><span class="n">mpi_env_get_comm</span><span class="p">(</span><span class="n">this</span><span class="p">)</span> <span class="k">result</span><span class="p">(</span><span class="n">comm</span><span class="p">)</span>
<a name="ln-147"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-148"></a>    <span class="c">!&lt; Return MPI communicator</span>
<a name="ln-149"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-150"></a>        <span class="k">class</span><span class="p">(</span><span class="n">mpi_env_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>                          <span class="c">!&lt; MPI environment</span>
<a name="ln-151"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                 <span class="kd">::</span> <span class="n">comm</span>                          <span class="c">!&lt; MPI communicator</span>
<a name="ln-152"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-153"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">MPI_ENV_STATE_INIT</span><span class="p">)</span>
<a name="ln-154"></a>        <span class="n">comm</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">comm</span>
<a name="ln-155"></a>    <span class="k">end function </span><span class="n">mpi_env_get_comm</span>
<a name="ln-156"></a>
<a name="ln-157"></a>    <span class="k">function </span><span class="n">mpi_env_get_root</span><span class="p">(</span><span class="n">this</span><span class="p">)</span> <span class="k">result</span><span class="p">(</span><span class="n">root</span><span class="p">)</span>
<a name="ln-158"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-159"></a>    <span class="c">!&lt; Return MPI root processor</span>
<a name="ln-160"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-161"></a>        <span class="k">class</span><span class="p">(</span><span class="n">mpi_env_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>                          <span class="c">!&lt; MPI environment</span>
<a name="ln-162"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                 <span class="kd">::</span> <span class="n">root</span>                          <span class="c">!&lt; MPI root processor</span>
<a name="ln-163"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-164"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">MPI_ENV_STATE_INIT</span><span class="p">)</span>
<a name="ln-165"></a>        <span class="n">root</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">root</span>
<a name="ln-166"></a>    <span class="k">end function </span><span class="n">mpi_env_get_root</span>
<a name="ln-167"></a>
<a name="ln-168"></a>    <span class="k">function </span><span class="n">mpi_env_get_rank</span><span class="p">(</span><span class="n">this</span><span class="p">)</span> <span class="k">result</span><span class="p">(</span><span class="n">rank</span><span class="p">)</span>
<a name="ln-169"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-170"></a>    <span class="c">!&lt; Return MPI rank</span>
<a name="ln-171"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-172"></a>        <span class="k">class</span><span class="p">(</span><span class="n">mpi_env_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>                          <span class="c">!&lt; MPI environment</span>
<a name="ln-173"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                 <span class="kd">::</span> <span class="n">rank</span>                          <span class="c">!&lt; MPI rank</span>
<a name="ln-174"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-175"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">MPI_ENV_STATE_INIT</span><span class="p">)</span>
<a name="ln-176"></a>        <span class="n">rank</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">rank</span>
<a name="ln-177"></a>    <span class="k">end function </span><span class="n">mpi_env_get_rank</span>
<a name="ln-178"></a>
<a name="ln-179"></a>    <span class="k">function </span><span class="n">mpi_env_get_info</span><span class="p">(</span><span class="n">this</span><span class="p">)</span> <span class="k">result</span><span class="p">(</span><span class="n">info</span><span class="p">)</span>
<a name="ln-180"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-181"></a>    <span class="c">!&lt; Return MPI info</span>
<a name="ln-182"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-183"></a>        <span class="k">class</span><span class="p">(</span><span class="n">mpi_env_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>                          <span class="c">!&lt; MPI environment</span>
<a name="ln-184"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                 <span class="kd">::</span> <span class="n">info</span>                          <span class="c">!&lt; MPI info</span>
<a name="ln-185"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-186"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">MPI_ENV_STATE_INIT</span><span class="p">)</span>
<a name="ln-187"></a>        <span class="n">info</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">info</span>
<a name="ln-188"></a>    <span class="k">end function </span><span class="n">mpi_env_get_info</span>
<a name="ln-189"></a>
<a name="ln-190"></a>    <span class="k">function </span><span class="n">mpi_env_get_comm_size</span><span class="p">(</span><span class="n">this</span><span class="p">)</span> <span class="k">result</span><span class="p">(</span><span class="n">size</span><span class="p">)</span>
<a name="ln-191"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-192"></a>    <span class="c">!&lt; Return MPI communicator size</span>
<a name="ln-193"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-194"></a>        <span class="k">class</span><span class="p">(</span><span class="n">mpi_env_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>                          <span class="c">!&lt; MPI environment</span>
<a name="ln-195"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                 <span class="kd">::</span> <span class="n">size</span>                          <span class="c">!&lt; MPI communicator size</span>
<a name="ln-196"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-197"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">MPI_ENV_STATE_INIT</span><span class="p">)</span>
<a name="ln-198"></a>        <span class="n">size</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">size</span>
<a name="ln-199"></a>    <span class="k">end function </span><span class="n">mpi_env_get_comm_size</span>
<a name="ln-200"></a>
<a name="ln-201"></a>    <span class="k">subroutine </span><span class="n">mpi_env_barrier</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">mpierror</span><span class="p">)</span>
<a name="ln-202"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-203"></a>    <span class="c">!&lt; MPI_barrier interface</span>
<a name="ln-204"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-205"></a>        <span class="k">class</span><span class="p">(</span><span class="n">mpi_env_t</span><span class="p">),</span>          <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">this</span>                <span class="c">!&lt; MPI environment</span>
<a name="ln-206"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span>    <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">mpierror</span>            <span class="c">!&lt; MPI error</span>
<a name="ln-207"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                           <span class="kd">::</span> <span class="n">mpierr</span>              <span class="c">!&lt; Aux variable for MPI error</span>
<a name="ln-208"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-209"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">MPI_ENV_STATE_INIT</span><span class="p">)</span>
<a name="ln-210"></a>        <span class="n">mpierr</span> <span class="o">=</span> <span class="mi">0</span>
<a name="ln-211"></a><span class="cp">#if defined(ENABLE_MPI) &amp;&amp; (defined(MPI_MOD) || defined(MPI_H))</span>
<a name="ln-212"></a>        <span class="k">if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">parallel</span><span class="p">)</span> <span class="k">then</span>
<a name="ln-213"></a><span class="k">            call </span><span class="n">MPI_BARRIER</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">comm</span><span class="p">,</span> <span class="n">mpierr</span><span class="p">)</span> 
<a name="ln-214"></a>        <span class="n">endif</span>
<a name="ln-215"></a><span class="cp">#endif</span>
<a name="ln-216"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">mpierror</span><span class="p">))</span> <span class="n">mpierror</span> <span class="o">=</span> <span class="n">mpierr</span>
<a name="ln-217"></a>    <span class="k">end subroutine </span><span class="n">mpi_env_barrier</span>
<a name="ln-218"></a>
<a name="ln-219"></a>    <span class="k">subroutine </span><span class="n">mpi_env_allgather_single_int_value_I4P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">send_data</span><span class="p">,</span> <span class="n">recv_data</span><span class="p">,</span> <span class="n">mpierror</span><span class="p">)</span>
<a name="ln-220"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-221"></a>    <span class="c">!&lt; MPI_allgather interface for a single I4P value per task</span>
<a name="ln-222"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-223"></a>        <span class="k">class</span><span class="p">(</span><span class="n">mpi_env_t</span><span class="p">),</span>          <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">this</span>                <span class="c">!&lt; MPI environment</span>
<a name="ln-224"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>              <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">send_data</span>           <span class="c">!&lt; MPI_allgather send data</span>
<a name="ln-225"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">recv_data</span><span class="p">(:)</span>        <span class="c">!&lt; MPI_allgather receive data</span>
<a name="ln-226"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span>    <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">mpierror</span>            <span class="c">!&lt; MPI error</span>
<a name="ln-227"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                           <span class="kd">::</span> <span class="n">mpierr</span>              <span class="c">!&lt; Aux variable for MPI error</span>
<a name="ln-228"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                           <span class="kd">::</span> <span class="n">comm_size</span>           <span class="c">!&lt; MPI communicator size aux variable</span>
<a name="ln-229"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-230"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">MPI_ENV_STATE_INIT</span><span class="p">)</span>
<a name="ln-231"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">mpierror</span><span class="p">))</span> <span class="n">mpierror</span> <span class="o">=</span> <span class="mi">0</span>
<a name="ln-232"></a>        <span class="n">comm_size</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">get_comm_size</span><span class="p">()</span>
<a name="ln-233"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">allocated</span><span class="p">(</span><span class="n">recv_data</span><span class="p">))</span> <span class="k">deallocate</span><span class="p">(</span><span class="n">recv_data</span><span class="p">);</span> <span class="k">allocate</span><span class="p">(</span><span class="n">recv_data</span><span class="p">(</span><span class="n">comm_size</span><span class="p">))</span>
<a name="ln-234"></a><span class="cp">#if defined(ENABLE_MPI) &amp;&amp; (defined(MPI_MOD) || defined(MPI_H))</span>
<a name="ln-235"></a>        <span class="k">if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">parallel</span><span class="p">)</span> <span class="k">then</span>
<a name="ln-236"></a><span class="k">            call </span><span class="n">MPI_ALLGATHER</span><span class="p">(</span><span class="n">send_data</span><span class="p">,</span> <span class="mi">1_I4P</span><span class="p">,</span> <span class="n">MPI_INTEGER</span><span class="p">,</span> <span class="n">recv_data</span><span class="p">,</span> <span class="mi">1_I4P</span><span class="p">,</span> <span class="n">MPI_INTEGER</span><span class="p">,</span> <span class="n">this</span><span class="p">%</span><span class="n">comm</span><span class="p">,</span> <span class="n">mpierr</span><span class="p">)</span> 
<a name="ln-237"></a>        <span class="k">else</span>
<a name="ln-238"></a><span class="k">            </span><span class="n">recv_data</span><span class="p">(:</span><span class="n">comm_size</span><span class="p">)</span> <span class="o">=</span> <span class="n">send_data</span>
<a name="ln-239"></a>        <span class="n">endif</span>
<a name="ln-240"></a><span class="cp">#else</span>
<a name="ln-241"></a>        <span class="n">recv_data</span><span class="p">(:</span><span class="n">comm_size</span><span class="p">)</span> <span class="o">=</span> <span class="n">send_data</span>
<a name="ln-242"></a><span class="cp">#endif</span>
<a name="ln-243"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">mpierror</span><span class="p">))</span> <span class="n">mpierror</span> <span class="o">=</span> <span class="n">mpierr</span>
<a name="ln-244"></a>    <span class="k">end subroutine </span><span class="n">mpi_env_allgather_single_int_value_I4P</span>
<a name="ln-245"></a>
<a name="ln-246"></a>    <span class="k">subroutine </span><span class="n">mpi_env_allgather_single_int_value_I8P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">send_data</span><span class="p">,</span> <span class="n">recv_data</span><span class="p">,</span> <span class="n">mpierror</span><span class="p">)</span>
<a name="ln-247"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-248"></a>    <span class="c">!&lt; MPI_allgather interface for a single I8P value per task</span>
<a name="ln-249"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-250"></a>        <span class="k">class</span><span class="p">(</span><span class="n">mpi_env_t</span><span class="p">),</span>          <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">this</span>                <span class="c">!&lt; MPI environment</span>
<a name="ln-251"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">),</span>              <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">send_data</span>           <span class="c">!&lt; MPI_allgather send data</span>
<a name="ln-252"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">recv_data</span><span class="p">(:)</span>        <span class="c">!&lt; MPI_allgather receive data</span>
<a name="ln-253"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span>    <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">mpierror</span>            <span class="c">!&lt; MPI error</span>
<a name="ln-254"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                           <span class="kd">::</span> <span class="n">mpierr</span>              <span class="c">!&lt; Aux variable for MPI error</span>
<a name="ln-255"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                           <span class="kd">::</span> <span class="n">comm_size</span>           <span class="c">!&lt; MPI communicator size aux variable</span>
<a name="ln-256"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-257"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">MPI_ENV_STATE_INIT</span><span class="p">)</span>
<a name="ln-258"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">mpierror</span><span class="p">))</span> <span class="n">mpierror</span> <span class="o">=</span> <span class="mi">0</span>
<a name="ln-259"></a>        <span class="n">comm_size</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">get_comm_size</span><span class="p">()</span>
<a name="ln-260"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">allocated</span><span class="p">(</span><span class="n">recv_data</span><span class="p">))</span> <span class="k">deallocate</span><span class="p">(</span><span class="n">recv_data</span><span class="p">);</span> <span class="k">allocate</span><span class="p">(</span><span class="n">recv_data</span><span class="p">(</span><span class="n">comm_size</span><span class="p">))</span>
<a name="ln-261"></a><span class="cp">#if defined(ENABLE_MPI) &amp;&amp; (defined(MPI_MOD) || defined(MPI_H))</span>
<a name="ln-262"></a>        <span class="k">if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">parallel</span><span class="p">)</span> <span class="k">then</span>
<a name="ln-263"></a><span class="k">            call </span><span class="n">MPI_ALLGATHER</span><span class="p">(</span><span class="n">send_data</span><span class="p">,</span> <span class="mi">1_I4P</span><span class="p">,</span> <span class="n">MPI_LONG</span><span class="p">,</span> <span class="n">recv_data</span><span class="p">,</span> <span class="mi">1_I4P</span><span class="p">,</span> <span class="n">MPI_LONG</span><span class="p">,</span> <span class="n">this</span><span class="p">%</span><span class="n">comm</span><span class="p">,</span> <span class="n">mpierr</span><span class="p">)</span> 
<a name="ln-264"></a>        <span class="k">else</span>
<a name="ln-265"></a><span class="k">            </span><span class="n">recv_data</span><span class="p">(:</span><span class="n">comm_size</span><span class="p">)</span> <span class="o">=</span> <span class="n">send_data</span>
<a name="ln-266"></a>        <span class="n">endif</span>
<a name="ln-267"></a><span class="cp">#else</span>
<a name="ln-268"></a>        <span class="n">recv_data</span><span class="p">(:</span><span class="n">comm_size</span><span class="p">)</span> <span class="o">=</span> <span class="n">send_data</span>
<a name="ln-269"></a><span class="cp">#endif</span>
<a name="ln-270"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">mpierror</span><span class="p">))</span> <span class="n">mpierror</span> <span class="o">=</span> <span class="n">mpierr</span>
<a name="ln-271"></a>    <span class="k">end subroutine </span><span class="n">mpi_env_allgather_single_int_value_I8P</span>
<a name="ln-272"></a>
<a name="ln-273"></a>
<a name="ln-274"></a>    <span class="k">subroutine </span><span class="n">mpi_env_broadcast_int_I4P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">send_data</span><span class="p">,</span> <span class="n">mpierror</span><span class="p">)</span>
<a name="ln-275"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-276"></a>    <span class="c">!&lt; MPI_allgather interface for a single I4P value per task</span>
<a name="ln-277"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-278"></a>        <span class="k">class</span><span class="p">(</span><span class="n">mpi_env_t</span><span class="p">),</span>          <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">this</span>                <span class="c">!&lt; MPI environment</span>
<a name="ln-279"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>              <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">send_data</span>           <span class="c">!&lt; MPI_broadcast send data</span>
<a name="ln-280"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span>    <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span>   <span class="kd">::</span> <span class="n">mpierror</span>            <span class="c">!&lt; MPI error</span>
<a name="ln-281"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                             <span class="kd">::</span> <span class="n">mpierr</span>              <span class="c">!&lt; Aux variable for MPI error</span>
<a name="ln-282"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-283"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">MPI_ENV_STATE_INIT</span><span class="p">)</span>
<a name="ln-284"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">mpierror</span><span class="p">))</span> <span class="n">mpierror</span> <span class="o">=</span> <span class="mi">0</span>
<a name="ln-285"></a><span class="cp">#if defined(ENABLE_MPI) &amp;&amp; (defined(MPI_MOD) || defined(MPI_H))</span>
<a name="ln-286"></a>        <span class="k">if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">parallel</span><span class="p">)</span> <span class="k">call </span><span class="n">MPI_BCAST</span> <span class="p">(</span><span class="n">send_data</span><span class="p">,</span> <span class="mi">1_I4P</span><span class="p">,</span> <span class="n">MPI_INTEGER</span><span class="p">,</span> <span class="n">this</span><span class="p">%</span><span class="n">root</span><span class="p">,</span> <span class="n">this</span><span class="p">%</span><span class="n">comm</span><span class="p">,</span> <span class="n">mpierr</span><span class="p">)</span>
<a name="ln-287"></a><span class="cp">#endif</span>
<a name="ln-288"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">mpierror</span><span class="p">))</span> <span class="n">mpierror</span> <span class="o">=</span> <span class="n">mpierr</span>
<a name="ln-289"></a>    <span class="k">end subroutine </span><span class="n">mpi_env_broadcast_int_I4P</span>
<a name="ln-290"></a>
<a name="ln-291"></a>
<a name="ln-292"></a>    <span class="k">subroutine </span><span class="n">mpi_env_broadcast_int_I8P</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">send_data</span><span class="p">,</span> <span class="n">mpierror</span><span class="p">)</span>
<a name="ln-293"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-294"></a>    <span class="c">!&lt; MPI_allgather interface for a single I4P value per task</span>
<a name="ln-295"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-296"></a>        <span class="k">class</span><span class="p">(</span><span class="n">mpi_env_t</span><span class="p">),</span>          <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">this</span>                <span class="c">!&lt; MPI environment</span>
<a name="ln-297"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">),</span>              <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">send_data</span>           <span class="c">!&lt; MPI_broadcast send data</span>
<a name="ln-298"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span>    <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span>   <span class="kd">::</span> <span class="n">mpierror</span>            <span class="c">!&lt; MPI error</span>
<a name="ln-299"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                             <span class="kd">::</span> <span class="n">mpierr</span>              <span class="c">!&lt; Aux variable for MPI error</span>
<a name="ln-300"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-301"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">MPI_ENV_STATE_INIT</span><span class="p">)</span>
<a name="ln-302"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">mpierror</span><span class="p">))</span> <span class="n">mpierror</span> <span class="o">=</span> <span class="mi">0</span>
<a name="ln-303"></a><span class="cp">#if defined(ENABLE_MPI) &amp;&amp; (defined(MPI_MOD) || defined(MPI_H))</span>
<a name="ln-304"></a>        <span class="k">if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">parallel</span><span class="p">)</span> <span class="k">call </span><span class="n">MPI_BCAST</span> <span class="p">(</span><span class="n">send_data</span><span class="p">,</span> <span class="mi">1_I4P</span><span class="p">,</span> <span class="n">MPI_LONG_LONG_INT</span><span class="p">,</span> <span class="n">this</span><span class="p">%</span><span class="n">root</span><span class="p">,</span> <span class="n">this</span><span class="p">%</span><span class="n">comm</span><span class="p">,</span> <span class="n">mpierr</span><span class="p">)</span>
<a name="ln-305"></a><span class="cp">#endif</span>
<a name="ln-306"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">mpierror</span><span class="p">))</span> <span class="n">mpierror</span> <span class="o">=</span> <span class="n">mpierr</span>
<a name="ln-307"></a>    <span class="k">end subroutine </span><span class="n">mpi_env_broadcast_int_I8P</span>
<a name="ln-308"></a>
<a name="ln-309"></a>
<a name="ln-310"></a>    <span class="k">subroutine </span><span class="n">mpi_env_broadcast_int_I4P_array</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">send_data</span><span class="p">,</span> <span class="n">mpierror</span><span class="p">)</span>
<a name="ln-311"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-312"></a>    <span class="c">!&lt; MPI_allgather interface for a single I4P value per task</span>
<a name="ln-313"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-314"></a>        <span class="k">class</span><span class="p">(</span><span class="n">mpi_env_t</span><span class="p">),</span>          <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">this</span>                <span class="c">!&lt; MPI environment</span>
<a name="ln-315"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">send_data</span><span class="p">(:)</span>        <span class="c">!&lt; MPI_broadcast send data</span>
<a name="ln-316"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span>    <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span>   <span class="kd">::</span> <span class="n">mpierror</span>            <span class="c">!&lt; MPI error</span>
<a name="ln-317"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                             <span class="kd">::</span> <span class="n">data_size</span>           <span class="c">!&lt; Send data size</span>
<a name="ln-318"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                             <span class="kd">::</span> <span class="n">mpierr</span>              <span class="c">!&lt; Aux variable for MPI error</span>
<a name="ln-319"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-320"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">MPI_ENV_STATE_INIT</span><span class="p">)</span>
<a name="ln-321"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">mpierror</span><span class="p">))</span> <span class="n">mpierror</span> <span class="o">=</span> <span class="mi">0</span>
<a name="ln-322"></a><span class="cp">#if defined(ENABLE_MPI) &amp;&amp; (defined(MPI_MOD) || defined(MPI_H))</span>
<a name="ln-323"></a>        <span class="k">if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">is_root</span><span class="p">())</span> <span class="n">data_size</span> <span class="o">=</span> <span class="n">size</span><span class="p">(</span><span class="n">send_data</span><span class="p">,</span><span class="nb">dim</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
<a name="ln-324"></a>        <span class="k">if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">parallel</span><span class="p">)</span> <span class="k">call </span><span class="n">MPI_BCAST</span> <span class="p">(</span><span class="n">data_size</span><span class="p">,</span> <span class="mi">1_I4P</span><span class="p">,</span> <span class="n">MPI_INTEGER</span><span class="p">,</span> <span class="n">this</span><span class="p">%</span><span class="n">root</span><span class="p">,</span> <span class="n">this</span><span class="p">%</span><span class="n">comm</span><span class="p">,</span> <span class="n">mpierr</span><span class="p">)</span>
<a name="ln-325"></a>        <span class="k">if</span><span class="p">(.</span><span class="nb">not</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">is_root</span><span class="p">())</span> <span class="k">then</span>
<a name="ln-326"></a><span class="k">            if</span><span class="p">(</span><span class="nb">allocated</span><span class="p">(</span><span class="n">send_data</span><span class="p">))</span> <span class="k">deallocate</span><span class="p">(</span><span class="n">send_data</span><span class="p">)</span>
<a name="ln-327"></a>            <span class="k">allocate</span><span class="p">(</span><span class="n">send_data</span><span class="p">(</span><span class="n">data_size</span><span class="p">))</span>
<a name="ln-328"></a>        <span class="n">endif</span>
<a name="ln-329"></a>        <span class="k">if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">parallel</span><span class="p">)</span> <span class="k">call </span><span class="n">MPI_BCAST</span> <span class="p">(</span><span class="n">send_data</span><span class="p">,</span> <span class="n">data_size</span><span class="p">,</span> <span class="n">MPI_INTEGER</span><span class="p">,</span> <span class="n">this</span><span class="p">%</span><span class="n">root</span><span class="p">,</span> <span class="n">this</span><span class="p">%</span><span class="n">comm</span><span class="p">,</span> <span class="n">mpierr</span><span class="p">)</span>
<a name="ln-330"></a><span class="cp">#endif</span>
<a name="ln-331"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">mpierror</span><span class="p">))</span> <span class="n">mpierror</span> <span class="o">=</span> <span class="n">mpierr</span>
<a name="ln-332"></a>    <span class="k">end subroutine </span><span class="n">mpi_env_broadcast_int_I4P_array</span>
<a name="ln-333"></a>
<a name="ln-334"></a>
<a name="ln-335"></a>    <span class="k">subroutine </span><span class="n">mpi_env_broadcast_int_I8P_array</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">send_data</span><span class="p">,</span> <span class="n">mpierror</span><span class="p">)</span>
<a name="ln-336"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-337"></a>    <span class="c">!&lt; MPI_allgather interface for a single I4P value per task</span>
<a name="ln-338"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-339"></a>        <span class="k">class</span><span class="p">(</span><span class="n">mpi_env_t</span><span class="p">),</span>          <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">this</span>                <span class="c">!&lt; MPI environment</span>
<a name="ln-340"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">send_data</span><span class="p">(:)</span>        <span class="c">!&lt; MPI_broadcast send data</span>
<a name="ln-341"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span>    <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span>   <span class="kd">::</span> <span class="n">mpierror</span>            <span class="c">!&lt; MPI error</span>
<a name="ln-342"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                             <span class="kd">::</span> <span class="n">data_size</span>           <span class="c">!&lt; Send data size</span>
<a name="ln-343"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                             <span class="kd">::</span> <span class="n">mpierr</span>              <span class="c">!&lt; Aux variable for MPI error</span>
<a name="ln-344"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-345"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">MPI_ENV_STATE_INIT</span><span class="p">)</span>
<a name="ln-346"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">mpierror</span><span class="p">))</span> <span class="n">mpierror</span> <span class="o">=</span> <span class="mi">0</span>
<a name="ln-347"></a><span class="cp">#if defined(ENABLE_MPI) &amp;&amp; (defined(MPI_MOD) || defined(MPI_H))</span>
<a name="ln-348"></a>        <span class="k">if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">is_root</span><span class="p">())</span> <span class="n">data_size</span> <span class="o">=</span> <span class="n">size</span><span class="p">(</span><span class="n">send_data</span><span class="p">,</span><span class="nb">dim</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
<a name="ln-349"></a>        <span class="k">if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">parallel</span><span class="p">)</span> <span class="k">call </span><span class="n">MPI_BCAST</span> <span class="p">(</span><span class="n">data_size</span><span class="p">,</span> <span class="mi">1_I4P</span><span class="p">,</span> <span class="n">MPI_INTEGER</span><span class="p">,</span> <span class="n">this</span><span class="p">%</span><span class="n">root</span><span class="p">,</span> <span class="n">this</span><span class="p">%</span><span class="n">comm</span><span class="p">,</span> <span class="n">mpierr</span><span class="p">)</span>
<a name="ln-350"></a>        <span class="k">if</span><span class="p">(.</span><span class="nb">not</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">is_root</span><span class="p">())</span> <span class="k">then</span>
<a name="ln-351"></a><span class="k">            if</span><span class="p">(</span><span class="nb">allocated</span><span class="p">(</span><span class="n">send_data</span><span class="p">))</span> <span class="k">deallocate</span><span class="p">(</span><span class="n">send_data</span><span class="p">)</span>
<a name="ln-352"></a>            <span class="k">allocate</span><span class="p">(</span><span class="n">send_data</span><span class="p">(</span><span class="n">data_size</span><span class="p">))</span>
<a name="ln-353"></a>        <span class="n">endif</span>
<a name="ln-354"></a>        <span class="k">if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">parallel</span><span class="p">)</span> <span class="k">call </span><span class="n">MPI_BCAST</span> <span class="p">(</span><span class="n">send_data</span><span class="p">,</span> <span class="n">data_size</span><span class="p">,</span> <span class="n">MPI_LONG_LONG_INT</span><span class="p">,</span> <span class="n">this</span><span class="p">%</span><span class="n">root</span><span class="p">,</span> <span class="n">this</span><span class="p">%</span><span class="n">comm</span><span class="p">,</span> <span class="n">mpierr</span><span class="p">)</span>
<a name="ln-355"></a><span class="cp">#endif</span>
<a name="ln-356"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">mpierror</span><span class="p">))</span> <span class="n">mpierror</span> <span class="o">=</span> <span class="n">mpierr</span>
<a name="ln-357"></a>    <span class="k">end subroutine </span><span class="n">mpi_env_broadcast_int_I8P_array</span>
<a name="ln-358"></a>
<a name="ln-359"></a>
<a name="ln-360"></a>    <span class="k">subroutine </span><span class="n">mpi_env_broadcast_string</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">send_data</span><span class="p">,</span> <span class="n">mpierror</span><span class="p">)</span>
<a name="ln-361"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-362"></a>    <span class="c">!&lt; MPI_allgather interface for a deferred length character array</span>
<a name="ln-363"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-364"></a>        <span class="k">class</span><span class="p">(</span><span class="n">mpi_env_t</span><span class="p">),</span>              <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">this</span>                <span class="c">!&lt; MPI environment</span>
<a name="ln-365"></a>        <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=</span><span class="p">:),</span> <span class="k">allocatable</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">send_data</span>           <span class="c">!&lt; MPI_broadcast send data</span>
<a name="ln-366"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>     <span class="k">optional</span><span class="p">,</span>    <span class="k">intent</span><span class="p">(</span><span class="n">OUT</span><span class="p">)</span>   <span class="kd">::</span> <span class="n">mpierror</span>            <span class="c">!&lt; MPI error</span>
<a name="ln-367"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                                 <span class="kd">::</span> <span class="n">data_size</span>           <span class="c">!&lt; Send data size</span>
<a name="ln-368"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                                 <span class="kd">::</span> <span class="n">mpierr</span>              <span class="c">!&lt; Aux variable for MPI error</span>
<a name="ln-369"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-370"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">MPI_ENV_STATE_INIT</span><span class="p">)</span>
<a name="ln-371"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">mpierror</span><span class="p">))</span> <span class="n">mpierror</span> <span class="o">=</span> <span class="mi">0</span>
<a name="ln-372"></a><span class="cp">#if defined(ENABLE_MPI) &amp;&amp; (defined(MPI_MOD) || defined(MPI_H))</span>
<a name="ln-373"></a>        <span class="k">if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">is_root</span><span class="p">())</span> <span class="n">data_size</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">send_data</span><span class="p">)</span>
<a name="ln-374"></a>        <span class="k">if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">parallel</span><span class="p">)</span> <span class="k">call </span><span class="n">MPI_BCAST</span> <span class="p">(</span><span class="n">data_size</span><span class="p">,</span> <span class="mi">1_I4P</span><span class="p">,</span> <span class="n">MPI_INTEGER</span><span class="p">,</span> <span class="n">this</span><span class="p">%</span><span class="n">root</span><span class="p">,</span> <span class="n">this</span><span class="p">%</span><span class="n">comm</span><span class="p">,</span> <span class="n">mpierr</span><span class="p">)</span>
<a name="ln-375"></a>        <span class="k">if</span><span class="p">(.</span><span class="nb">not</span><span class="p">.</span> <span class="n">this</span><span class="p">%</span><span class="n">is_root</span><span class="p">())</span> <span class="k">then</span>
<a name="ln-376"></a><span class="k">            if</span><span class="p">(</span><span class="nb">allocated</span><span class="p">(</span><span class="n">send_data</span><span class="p">))</span> <span class="k">deallocate</span><span class="p">(</span><span class="n">send_data</span><span class="p">)</span>
<a name="ln-377"></a>            <span class="k">allocate</span><span class="p">(</span><span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=</span><span class="n">data_size</span><span class="p">)</span> <span class="kd">::</span> <span class="n">send_data</span><span class="p">)</span>
<a name="ln-378"></a>        <span class="n">endif</span>
<a name="ln-379"></a>        <span class="k">if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">parallel</span><span class="p">)</span> <span class="k">call </span><span class="n">MPI_BCAST</span> <span class="p">(</span><span class="n">send_data</span><span class="p">,</span> <span class="n">data_size</span><span class="p">,</span> <span class="n">MPI_CHAR</span><span class="p">,</span> <span class="n">this</span><span class="p">%</span><span class="n">root</span><span class="p">,</span> <span class="n">this</span><span class="p">%</span><span class="n">comm</span><span class="p">,</span> <span class="n">mpierr</span><span class="p">)</span>
<a name="ln-380"></a><span class="cp">#endif</span>
<a name="ln-381"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="n">mpierror</span><span class="p">))</span> <span class="n">mpierror</span> <span class="o">=</span> <span class="n">mpierr</span>
<a name="ln-382"></a>    <span class="k">end subroutine </span><span class="n">mpi_env_broadcast_string</span>
<a name="ln-383"></a>
<a name="ln-384"></a>
<a name="ln-385"></a>    <span class="k">function </span><span class="n">mpi_env_wtime</span><span class="p">(</span><span class="n">this</span><span class="p">)</span> <span class="k">result</span><span class="p">(</span><span class="nb">time</span><span class="p">)</span>
<a name="ln-386"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-387"></a>    <span class="c">!&lt; Call MPI_Wtime()</span>
<a name="ln-388"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-389"></a>        <span class="k">class</span><span class="p">(</span><span class="n">mpi_env_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">this</span>                         <span class="c">!&lt; MPI environment</span>
<a name="ln-390"></a>        <span class="kt">real</span><span class="p">(</span><span class="n">R8P</span><span class="p">)</span>                     <span class="kd">::</span> <span class="nb">time</span>                         <span class="c">!&lt; MPI_WTime returned time</span>
<a name="ln-391"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-392"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">MPI_ENV_STATE_INIT</span><span class="p">)</span>
<a name="ln-393"></a><span class="cp">#if defined(ENABLE_MPI) &amp;&amp; (defined(MPI_MOD) || defined(MPI_H))</span>
<a name="ln-394"></a>        <span class="k">if</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">parallel</span><span class="p">)</span> <span class="k">then</span>
<a name="ln-395"></a><span class="k">            </span><span class="nb">time</span> <span class="o">=</span> <span class="n">MPI_WTIME</span><span class="p">()</span>
<a name="ln-396"></a>        <span class="k">else</span>
<a name="ln-397"></a><span class="k">            </span><span class="nb">time</span> <span class="o">=</span> <span class="n">Wtime</span><span class="p">()</span>
<a name="ln-398"></a>        <span class="n">endif</span>
<a name="ln-399"></a><span class="cp">#else</span>
<a name="ln-400"></a>        <span class="nb">time</span> <span class="o">=</span> <span class="n">Wtime</span><span class="p">()</span>
<a name="ln-401"></a><span class="cp">#endif</span>
<a name="ln-402"></a>    <span class="k">end function </span><span class="n">mpi_env_wtime</span>
<a name="ln-403"></a>
<a name="ln-404"></a>
<a name="ln-405"></a>    <span class="k">function </span><span class="n">mpi_env_is_root</span><span class="p">(</span><span class="n">this</span><span class="p">)</span> <span class="k">result</span><span class="p">(</span><span class="n">is_root</span><span class="p">)</span>
<a name="ln-406"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-407"></a>    <span class="c">!&lt; Is the current task the root processor?</span>
<a name="ln-408"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-409"></a>        <span class="k">class</span><span class="p">(</span><span class="n">mpi_env_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">this</span>                         <span class="c">!&lt; MPI environment</span>
<a name="ln-410"></a>        <span class="kt">logical</span>                       <span class="kd">::</span> <span class="n">is_root</span>                      <span class="c">!&lt; Boolean variable, True if is root task   </span>
<a name="ln-411"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-412"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">MPI_ENV_STATE_INIT</span><span class="p">)</span>
<a name="ln-413"></a>        <span class="n">is_root</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">get_rank</span><span class="p">()</span> <span class="o">==</span> <span class="n">this</span><span class="p">%</span><span class="n">get_root</span><span class="p">()</span>
<a name="ln-414"></a>    <span class="k">end function </span><span class="n">mpi_env_is_root</span>
<a name="ln-415"></a>
<a name="ln-416"></a>
<a name="ln-417"></a>    <span class="k">function </span><span class="n">mpi_env_is_parallel</span><span class="p">(</span><span class="n">this</span><span class="p">)</span> <span class="k">result</span><span class="p">(</span><span class="n">is_parallel</span><span class="p">)</span>
<a name="ln-418"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-419"></a>    <span class="c">!&lt; Is the current task the root processor?</span>
<a name="ln-420"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-421"></a>        <span class="k">class</span><span class="p">(</span><span class="n">mpi_env_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>  <span class="kd">::</span> <span class="n">this</span>                         <span class="c">!&lt; MPI environment</span>
<a name="ln-422"></a>        <span class="kt">logical</span>                       <span class="kd">::</span> <span class="n">is_parallel</span>                  <span class="c">!&lt; Boolean variable, True if is root task   </span>
<a name="ln-423"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-424"></a>        <span class="n">assert</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">State</span> <span class="o">==</span> <span class="n">MPI_ENV_STATE_INIT</span><span class="p">)</span>
<a name="ln-425"></a>        <span class="n">is_parallel</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">parallel</span>
<a name="ln-426"></a>    <span class="k">end function </span><span class="n">mpi_env_is_parallel</span>
<a name="ln-427"></a>
<a name="ln-428"></a><span class="k">end module </span><span class="n">mpi_environment</span>
</pre></div>

    </section>
    </div>
  </div>

  <section class="visible-xs visible-sm hidden-md">
    <hr>
    

<div class="panel panel-default">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#allfiles-1">All Source Files</a></h3></div>
  <div id="allfiles-1" class="panel-collapse collapse">
    <div class="list-group">
      
      <a class="list-group-item" href="../sourcefile/ch_unstructured_hexahedron_perf.f90.html">ch_unstructured_hexahedron_perf.f90</a>
      
      <a class="list-group-item" href="../sourcefile/fox_xdmf.f90.html">fox_xdmf.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_contiguous_hyperslab_handler.f90.html">hdf5_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_dataset_per_process_handler.f90.html">hdf5_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_handler.f90.html">hdf5_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_structured_contiguous_hyperslab_handler.f90.html">hdf5_structured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_structured_dataset_per_process_handler.f90.html">hdf5_structured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_unstructured_contiguous_hyperslab_handler.f90.html">hdf5_unstructured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_unstructured_dataset_per_process_handler.f90.html">hdf5_unstructured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/mpi_environment.f90.html">mpi_environment.f90</a>
      
      <a class="list-group-item" href="../sourcefile/spatial_grid_descriptor.f90.html">spatial_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/steps_handler.f90.html">steps_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/steps_handler_test.f90.html">steps_handler_test.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_contiguous_hyperslab_factory.f90.html">structured_contiguous_hyperslab_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_dataset_per_process_factory.f90.html">structured_dataset_per_process_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_spatial_grid_descriptor.f90.html">structured_spatial_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_uniform_grid_descriptor.f90.html">structured_uniform_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_fox_wxml.f90.html">test_FoX_wxml.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90.html">test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_rectilinear_dataset_per_process_handler.f90.html">test_hdf5_rectilinear_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_regular_contiguous_hyperslabs_handler.f90.html">test_hdf5_regular_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_regular_dataset_per_process_handler.f90.html">test_hdf5_regular_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_unstructured_contiguous_hyperslabs_handler.f90.html">test_hdf5_unstructured_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_unstructured_dataset_per_process_handler.f90.html">test_hdf5_unstructured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_mpi_environment.f90.html">test_mpi_environment.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_attribute.f90.html">test_xdmf_attribute.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_character_data.f90.html">test_xdmf_character_data.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_dataitem.f90.html">test_xdmf_dataitem.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_geometry.f90.html">test_xdmf_geometry.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_grid.f90.html">test_xdmf_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90.html">test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_rectilinear_dataset_per_process.f90.html">test_xdmf_rectilinear_dataset_per_process.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_regular_contiguous_hyperslabs_handler.f90.html">test_xdmf_regular_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_regular_dataset_per_process.f90.html">test_xdmf_regular_dataset_per_process.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_time.f90.html">test_xdmf_time.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_topology.f90.html">test_xdmf_topology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_unstructured_contiguous_hyperslabs_handler.f90.html">test_xdmf_unstructured_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_unstructured_dataset_per_process.f90.html">test_xdmf_unstructured_dataset_per_process.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_xinclude.f90.html">test_xdmf_xinclude.f90</a>
      
      <a class="list-group-item" href="../sourcefile/try_compile_hdf5_mod.f90.html">try_compile_hdf5_mod.f90</a>
      
      <a class="list-group-item" href="../sourcefile/try_compile_mpi_mod.f90.html">try_compile_mpi_mod.f90</a>
      
      <a class="list-group-item" href="../sourcefile/uniform_grid_descriptor.f90.html">uniform_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_contiguous_hyperslab_factory.f90.html">unstructured_contiguous_hyperslab_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_dataset_per_process_factory.f90.html">unstructured_dataset_per_process_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_spatial_grid_descriptor.f90.html">unstructured_spatial_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_uniform_grid_descriptor.f90.html">unstructured_uniform_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_attribute.f90.html">xdmf_attribute.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_character_data.f90.html">xdmf_character_data.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_contiguous_hyperslab_handler.f90.html">xdmf_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_dataitem.f90.html">xdmf_dataitem.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_dataset_per_process_handler.f90.html">xdmf_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_domain.f90.html">xdmf_domain.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_element.f90.html">xdmf_element.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_file.f90.html">xdmf_file.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_geometry.f90.html">xdmf_geometry.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_grid.f90.html">xdmf_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_handler.f90.html">xdmf_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_information.f90.html">xdmf_information.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_parameters.f90.html">xdmf_parameters.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_structured_contiguous_hyperslab_handler.f90.html">xdmf_structured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_structured_dataset_per_process_handler.f90.html">xdmf_structured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_time.f90.html">xdmf_time.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_topology.f90.html">xdmf_topology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_unstructured_contiguous_hyperslab_handler.f90.html">xdmf_unstructured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_unstructured_dataset_per_process_handler.f90.html">xdmf_unstructured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_utils.f90.html">xdmf_utils.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_xinclude.f90.html">xdmf_xinclude.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for.f90.html">xh5for.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_abstract_factory.f90.html">xh5for_abstract_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_rectilinear_grid.f90.html">xh5for_ch_rectilinear_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_rectilinear_non_static_grid_series.f90.html">xh5for_ch_rectilinear_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_rectilinear_static_grid_series.f90.html">xh5for_ch_rectilinear_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_regular_grid.f90.html">xh5for_ch_regular_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_regular_non_static_grid_series.f90.html">xh5for_ch_regular_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_regular_static_grid_series.f90.html">xh5for_ch_regular_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_hexahedron.f90.html">xh5for_ch_unstructured_hexahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_hexahedron_perf.f90.html">xh5for_ch_unstructured_hexahedron_perf.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_mixedtopology.f90.html">xh5for_ch_unstructured_mixedtopology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_non_static_tetrahedron.f90.html">xh5for_ch_unstructured_non_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_quadilateral.f90.html">xh5for_ch_unstructured_quadilateral.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_static_mixed_series.f90.html">xh5for_ch_unstructured_static_mixed_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_static_tetrahedron.f90.html">xh5for_ch_unstructured_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_tetrahedron.f90.html">xh5for_ch_unstructured_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_triangles.f90.html">xh5for_ch_unstructured_triangles.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_rectilinear_grid.f90.html">xh5for_dpp_rectilinear_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_rectilinear_non_static_grid_series.f90.html">xh5for_dpp_rectilinear_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_rectilinear_static_grid_series.f90.html">xh5for_dpp_rectilinear_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_regular_grid.f90.html">xh5for_dpp_regular_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_regular_non_static_grid_series.f90.html">xh5for_dpp_regular_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_regular_static_grid_series.f90.html">xh5for_dpp_regular_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_hexahedron.f90.html">xh5for_dpp_unstructured_hexahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_mixedtopology.f90.html">xh5for_dpp_unstructured_mixedtopology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_non_static_tetrahedron.f90.html">xh5for_dpp_unstructured_non_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_quadilateral.f90.html">xh5for_dpp_unstructured_quadilateral.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_static_tetrahedron.f90.html">xh5for_dpp_unstructured_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_tetrahedron.f90.html">xh5for_dpp_unstructured_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_triangles.f90.html">xh5for_dpp_unstructured_triangles.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_factory.f90.html">xh5for_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_handler.f90.html">xh5for_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_metadata.f90.html">xh5for_metadata.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_parameters.f90.html">xh5for_parameters.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_utils.f90.html">xh5for_utils.f90</a>
      
    </div>
  </div>
</div>


  </section>
  
    <hr>    
    </div> <!-- /container -->
    <footer>
      <div class="container">
      <div class="row">
        <div class="col-xs-6 col-md-4"><p>&copy; 2016 </p></div>
        <div class="col-xs-6 col-md-4 col-md-push-4">
          <p class="text-right">
            Documentation generated by 
            <a href="https://github.com/cmacmackin/ford">FORD</a>
             on 2016-11-08T12:24:53.235950 
          </p>
        </div>
        <div class="col-xs-12 col-md-4 col-md-pull-4"><p class="text-center"> XH5For was developed by Víctor Sande Veiga</p></div>
      </div>
      <br>
      </div> <!-- /container -->    
    </footer>

    <!-- Bootstrap core JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
<!--
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
-->
    <script src="../js/bootstrap.min.js"></script>
    <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
    <script src="../js/ie10-viewport-bug-workaround.js"></script>

    <!-- MathJax JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script type="text/x-mathjax-config">
      MathJax.Hub.Config({
        TeX: { extensions: ['AMSmath.js','AMSsymbols.js','noErrors.js','noUndefined.js'], equationNumbers: { autoNumber: 'AMS' } },
        jax: ['input/TeX','input/MathML','output/HTML-CSS'],
        extensions: ['tex2jax.js','mml2jax.js','MathMenu.js','MathZoom.js'],
        'HTML-CSS': { 
           styles: { '.MathJax_Display, .MathJax .mo, .MathJax .mi, .MathJax .mn': {color: '#000000 ! important'} }
        }
      });
    </script>
    <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
    
    
    <script src="../tipuesearch/tipuesearch_content.js"></script>
    <link  href="../tipuesearch/tipuesearch.css" rel="stylesheet">
    <script src="../tipuesearch/tipuesearch_set.js"></script>
    <script src="../tipuesearch/tipuesearch.js"></script>
    
    
  </body>
</html>